当我关闭个人热点时,我的布局被打破了,当我的个人热点开启时,我的个人热点关闭时布局保持不变。任何建议请。
答案 0 :(得分:3)
当personal-hotspot
开启时,会调用notification
,抓住它并根据需要更改布局
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(statusBarFrameWillChange)
name:UIApplicationWillChangeStatusBarFrameNotification
object:nil];
个人热点已开启,statusBar的高度为40
个人热点已关闭,statusBar的高度为20
答案 1 :(得分:0)
在Appdelegate.m文件中添加以下Notification方法,检查状态栏框架是否已更改(如果更改了框架)。
}
答案 2 :(得分:0)
我希望这可以帮助别人。
我在处理旧应用程序时看到了类似的问题。它没有自动布局,它在scrollview中有很多子视图。多个类视图放在上面。 我意识到了根本原因。 未启用热点时,假设View控制器视图设置为origin(0,0)。现在,如果您启用热点。状态栏高度更改为40,self.view原点更改为(0,20)。因此,如果使用self.view.frame初始化每个子视图帧将向下移动20 px。要解决这个问题。我没有改变整个代码。相反,我将更改放在
中-(void)viewDidLayoutSubviews(){} /**method.
我明确地将子视图设置为origin(0,0)。 然后,它可以工作,而不是启用任何状态栏更改通知。如果您的内容正确放置。它会自动调整。