【发布时间】:2012-07-09 12:53:46
【问题描述】:
我创建了一个名为RCTextField 的自定义类,其目的是创建一个带有圆角的NSTextField(因此是RC...)。
此RCTextField 继承自NSTextField 并覆盖drawRect: 方法以创建自己的圆角矩形。
现在,我想对NSSecureTextField 做同样的事情,即有办法让它有圆角。我不能让它继承RCTextField,因为它没有任何secure 实现NSSecureTextField 拥有的文本。
如果我从NSSecureTextField 继承,我将不得不再次重写所有drawRect: 实现。
我想到的一个选项是拥有一个 RCBaseTextField 类,其中包含一个名为 drawRect:forNSTextField:withParams: 的静态方法,并在 RCTextField 和 RCSecureTextField 的 drawRect: 中调用该方法。然而,这似乎有点骇人听闻,感觉在 Objective-C 中可能有更好的 OOP 方式来做到这一点。
那么,在RCTextField 和RCSecureTextField 之间共享RCTextField 的圆角圆角代码的最佳/最健全/软件工程“esquest”方法是什么?
【问题讨论】:
标签: objective-c macos cocoa oop inheritance