0

我使用 UIScrollView 的分页功能来分页多个视图(视图数组)。

ViewController - 视图 - 滚动视图

我的主 UIViewController 包含一个视图,在 UIScrollView 视图内,它通过插座连接到我的 ViewController.h。我创建了一个 xib 文件来为项目添加一个自定义视图(MyView);与班级相同;我添加了一个 UIView 的子类,名为 MyView。MyView.xib 的出口连接到 MyView.h。并将 MyView.xib 中的 Class 从 UIView 更改为 MyView。

为了与 ViewController (UIScrollView...) 之外的 MyView.xib 进行交互,我向 ViewController @property (nonatomic, weak) MyView *myView; 添加了一个属性。所以我可以设置文本、背景颜色和 MyView 的其他内容。

整个东西都按原样工作,但我不确定 - 这是不好的风格吗?所以我问你们;我这样做可以吗,不是吗?

4

1 回答 1

1

它实际上是优秀的风格。

我的主 UIViewController 包含一个视图,在 UIScrollView 视图内,它通过插座连接到我的 ViewController.h。我创建了一个 xib 文件来为项目添加一个自定义视图(MyView);与班级相同;我添加了一个 UIView 的子类,名为 MyView。MyView.xib 的出口连接到 MyView.h。并将 MyView.xib 中的 Class 从 UIView 更改为 MyView。

这就是 IB 中类标签的意义所在。元素应该是子类化的,这样做允许比标准 UIKit 类内置的更深入的自定义。

为了与 ViewController (UIScrollView...) 之外的 MyView.xib 进行交互,我向 ViewController @property (nonatomic, weak) MyView *myView; 添加了一个属性。所以我可以设置文本、背景颜色和 MyView 的其他内容

再次,一个辉煌但经常被忽视的方面。接口构建器出口总是被认为是弱的(或分配的),因为它们通常由强大的顶级对象(例如,超级视图或类)维护。使它变弱的好处是,当你的班级被释放时,弱出口也会自动被释放!请参阅此处以更好地解释为什么 IBOutlets 应该是弱的。

于 2012-06-28T08:11:48.423 回答