UIView确实出现过?

nos*_*uic 37 iphone uiview ios

我想知道,当UIView屏幕上显示特定内容时,是否有办法获得代表或某事?

Max*_*Max 24

试试这些:

– didAddSubview:
– willRemoveSubview:
– willMoveToSuperview:
– didMoveToSuperview
– willMoveToWindow:
– didMoveToWindow
- viewDidAppear:
Run Code Online (Sandbox Code Playgroud)

  • 这些似乎都不会在自动布局后调用,因此您无法调整视图的子项并保持其状态. (7认同)

Dav*_*mot 19

如果直接在UIView中管理逻辑,请使用:

- didMoveToSuperview
Run Code Online (Sandbox Code Playgroud)

如果您在UIViewController中管理逻辑,请使用:

- viewDidAppear:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)


bux*_*xik 15

Swift版本.在你的UIView类里面只是:

override func willMove(toWindow newWindow: UIWindow?) {
    super.willMove(toWindow: newWindow)

    if newWindow == nil {
        // UIView disappear
    } else {
        // UIView appear
    }
}
Run Code Online (Sandbox Code Playgroud)


Jac*_*kin 8

如果您正在管理UIViewvia a UIViewController,那么您可以使用以下-viewDidAppear:方法:

- (void) viewDidAppear:(BOOL) animated {
   //do stuff...
   [super viewDidAppear:animated];
}
Run Code Online (Sandbox Code Playgroud)