Yoh*_*ent 18 iphone objective-c ios
我目前正在将我的应用程序转移到iOS 7(我希望它保持iOS 6兼容).苹果NDA没有涵盖这个问题,这是一个关于自动布局的问题(似乎iOS 7强制自动布局(编辑:错误,不强制)).
我有一个带有根视图控制器的导航控制器(很明显).在iOS 6中,我没有使用自动布局,因此根视图控制器位于导航栏下方.在iOS 7中,框架原点不包含导航栏,因此隐藏了我内容的顶部...
您是否了解如何使用自动布局在导航栏上方创建整个视图?
谢谢 !
ksc*_*ler 22
在iOS 7上,您有topLayoutGuide指定导航栏.然后,您可以指定您希望tableview的约束位于topLayoutGuide而不是superview.
这将帮助您了解它是否是iOS7:
if ([self respondsToSelector:@selector(topLayoutGuide)])
Run Code Online (Sandbox Code Playgroud)
所以它可以是那样的
NSString *verticalConstraint = @"V:|[v]|";
NSMutableDictionary *views = [NSMutableDictionary new];
views[@"v"] = self.tableview;
if ([self respondsToSelector:@selector(topLayoutGuide)]) {
views[@"topLayoutGuide"] = self.topLayoutGuide;
verticalConstraint = @"V:[topLayoutGuide][v]|";
}
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:verticalConstraint options:0 metrics:nil views:views]];
[self.view addConstraints:constraints];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21303 次 |
| 最近记录: |