使用类别扩展Interface Builder?

时间:2010-11-05 21:02:57

标签: objective-c interface-builder categories

我想知道是否可以扩展课程,例如带有类别的UIView或UITextView并具有Interface Builder提取的扩展名吗?

假设我们想要为每个UITextView添加上一个和下一个出口,理想情况下 可以编写类别来扩展UITextView并使用Interface Builder 选择改变。因此,在所有UITextViews上提供上一个和下一个出口。

但这种尝试似乎失败了。还有可能吗?

2 个答案:

答案 0 :(得分:2)

奥特莱斯是伊娃。您无法在类别中添加ivars。

但你可以做的是写一个UITextView的子类(可能称之为SequenceTextView或其他东西)。添加您想要的任何出口作为子类的属性/ ivars。然后在IB中添加一个UITextView并将其类设置为SequenceTextView,您的出口应该出现。只需记住在需要这些插座时总是使用SequenceTextView而不是UITextView。

Bonus提示:为了便于以后访问,将SequenceTextView从.xib窗口拖到IB的Library面板的Custom Objects部分。这样可以省去每次手动设置类标识(和其他默认参数)的麻烦。

答案 1 :(得分:0)

Outlets不是ivars,它们是属性,例如它们可以解析为现有的ivar。我认为类别支持会很有用,但遗憾的是不支持。