als*_*uhr 3 cocoa-touch objective-c ios layoutsubviews
我正在尝试为某些子视图创建自定义布局.我的文件是a ViewController,所以我必须将其视图称为self.view.子视图是子视图self.view.
当我[self layoutSubviews];明确调用时viewDidLoad,它会-layoutSubviews毫无问题地执行代码.
但是,我已经读过,我不应该-layoutSubviews明确地打电话,或者打电话给它,self因为那是一个UIViewController.我尝试-setNeedsLayout通过这样调用它来实现:[self.view setNeedsLayout]in viewDidLoad,并取出显式调用-layoutSubviews但保留其声明.但这似乎不起作用.
我被链接到一篇关于何时调用layoutSubviews的文章,似乎应该在我添加子视图时调用它,但这似乎不会发生在这里.
如果我想要安全,并按照它在类引用UIView及其方法中的建议做事,那么我应该如何使用这两种方法呢?
没有这样的东西-[UIViewController layoutSubviews]或-[UIViewController setNeedsLayout].这些是UIView方法.
如果要使用layoutSubviews系统,则需要将顶级子类化UIView并在那里实现它.默认情况下,它什么都不做.如果你想使用视图控制器来布局视图,那么我会将这些方法命名为其他东西(例如layout,因为视图控制器没有"子视图")以避免混淆UIView.
| 归档时间: |
|
| 查看次数: |
7922 次 |
| 最近记录: |