Coders,我需要你们关于ViewController和UINavigationController方面的帮助 ?
yuprxk
由 yuprxk
发布于 2014年07月16日
| 更新于 2014年07月17日
无人欣赏。
在Storyboad中,一个ViewController,经过Editor In/Navigation Controller操作, 引入了Navigation Bar,为什么视图的frame没有发生变化 frame(0.000000,0.000000,320.000000,568.000000), 我觉得应该变成这样 frame(0.000000,44.000000,320.000000,524.000000) // 524 = 568- 44(NavigationBar.height)
共5条回复
3楼
·
qianshijia
回复于 2014年07月17日
iOS7开始Navigation Bar有两种模式,一种是和以前一样占据屏幕最上方44个points,另一种是悬浮在当前的view controller上的。只要设置view controller的edgesForExtendedLayout属性就能转换这两种方式。
- UIRectEdgeNone 设置成个个属性的话,Navigation Bar会占据顶部44points,view会自动下移44points
- UIRectEdgeAll 设置成个个属性的话,view controller的view就会占据全屏。在这种模式下你可以试下,把navigation bar的translucent属性设置成yes,你就能透过navigation bar看到下面的view上的内容。
Tab Bar也是同理
4楼
·
yuprxk
回复于 2014年07月17日
3楼 @qianshijia 我用的是Xcode5.1+iOS7.1,并没有找到view controller 的edgesForExtendedLayout属性 取消NavigationBar的translucent属性,view.frame(0,44,320,524)。 谢谢你们的回答。😄
5楼
·
byunting
回复于 2014年07月17日
3楼 @qianshijia 真是太感谢你了,之前使用ODRefreshControl这个下拉框架,下拉视图的位置老是不对,就是相差了顶部导航的44个point。现在我设置了edgesForExtendedLayout这个属性,终于正常了。