相关疑难解决方法(0)

为什么当应用程序从后台返回时,不会调用viewWillAppear?

我正在编写应用程序,如果用户在通话时查看应用程序,我需要更改视图.

我已经实现了以下方法:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSLog(@"viewWillAppear:");
    _sv.frame = CGRectMake(0.0, 0.0, 320.0, self.view.bounds.size.height);
}
Run Code Online (Sandbox Code Playgroud)

但是,当应用程序返回到前台时,它不会被调用.

我知道我可以实现:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameChanged:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

但我不想这样做.我宁愿将所有布局信息放在viewWillAppear:方法中,让它处理所有可能的场景.

我甚至试图从applicationWillEnterForeground:调用viewWillAppear:但我似乎无法确定当前哪个是当前的视图控制器.

有人知道处理这个问题的正确方法吗?我确定我错过了一个明显的解决方案.

iphone objective-c viewwillappear ios

270
推荐指数
5
解决办法
13万
查看次数

从后台打开应用程序时不调用ViewDidAppear

我有一个View Controller,其值为0(标签),当我从另一个打开View Controller时,ViewController我设置viewDidAppear为在标签上设置值20.它工作正常,但是当我关闭我的应用程序,比再次我打开我的应用程序,但价值不因为改变viewDidLoad,viewDidAppear并viewWillAppear没有被调用.打开我的应用程序时如何打电话.我必须做什么applicationDidBecomeActive吗?

iphone xcode objective-c ios swift

167
推荐指数
4
解决办法
10万
查看次数

标签 统计

ios ×2

iphone ×2

objective-c ×2

swift ×1

viewwillappear ×1

xcode ×1