【问题标题】:concept for paging (UiScrollView) an array of custom Views (subclass of UIViews)分页概念 (UiScrollView) 一组自定义视图(UIViews 的子类)
【发布时间】:2012-06-29 16:42:43
【问题描述】:

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

视图控制器 - 看法 - 滚动视图

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

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

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

【问题讨论】:

    标签: objective-c uiview uiscrollview


    【解决方案1】:

    其实是非常棒的风格。

    我的主 UIViewController 包含一个 View,在 View 内部是 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 的其他内容

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

    【讨论】:

    • 感谢您的回复!和视图hirachy? ViewController - View - ScrollView 没有 View 可以吗? ViewController - ScrollView 换句话说,是否可以将 ScrollView 设置为 ViewControllers 视图?
    • 大多数人会说不,但我不是大多数人!因为 UIScrollView 继承自 UIView,所以可以将其分配给 -loadView 中的 self.view。在那里分配一个新的实例,它会很好用。虽然这违背了 UIViewController 的用途......哦,好吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 2015-07-15
    相关资源
    最近更新 更多