许多人质疑视图跳跃20px,但仍然不清楚为什么会发生这种情况,许多人说设置CGRect
来调整这个问题,但这不是一个合适的解决方案。
这是我的情况,我所做的是:
在我的ViewController.xib文件中,我拖动了另一个UIView
并在ViewComreoller.h文件中创建了它的@property (strong, nonatomic) IBOutlet UIView *settingsView;
在ViewController.m文件中
- (IBAction)settings:(id)sender {
[UIView transitionFromView:[self view] toView:[self settingsView] duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {}];
}
- (IBAction)back:(id)sender {
[UIView transitionFromView:[self settingsView] toView:[self view] duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {}];
}
就是这样。
当settingsView
出现时,它跳了20px。
两个视图都是相同的宽度和高度,我所做的只是transitionFromView:
,没有自定义代码,但仍然会跳起来,为什么?
请帮助解决这个问题并明确我的概念为什么会发生?
答案 0 :(得分:0)
检查您的状态栏是否仍然存在? 20px可能是顶部状态栏的问题。
有可能在xib中你启用了状态栏,在项目中你可能没有显示状态栏。您可以通过编辑info.plist完全避免状态栏。使用“状态栏最初隐藏”键添加一行为“是”。