我最近下载了Xcode 5 DP来测试我在iOS 7中的应用程序.我注意到并确认的第一件事是我的视图边界并不总是调整大小来考虑状态栏和导航栏.
在viewDidLayoutSubviews,我打印视图的边界:
{{0,0},{320,568}}
这导致我的内容出现在导航栏和状态栏下方.
我知道我可以通过获取主屏幕的高度,减去状态栏的高度和导航栏的高度来解释自己的高度,但这似乎是不必要的额外工作.
我该如何解决这个问题?
更新:
我找到了解决这个特定问题的方法.将导航栏的半透明属性设置为NO:
self.navigationController.navigationBar.translucent = NO;
Run Code Online (Sandbox Code Playgroud)
这将修复视图在导航栏和状态栏下面的框架.
但是,当您希望导航栏为半透明时,我还没有找到解决此案例的方法.例如,在全屏查看照片时,我希望导航栏是半透明的,并且要在其下方构建视图.这是有效的,但当我切换显示/隐藏导航栏时,我经历了甚至更奇怪的结果.第一个子视图(UIScrollView)每次都会更改其边界.
是否有关于何时在iOS项目中使用故事板以及何时使用XIB的指南?每个人的优缺点是什么,他们各自适合什么情况?
当你有动态UI元素推动视图控制器(如地图引脚)时,我可以告诉它使用故事板segues并不是那么干净.
我用故事板构建了一个小应用程序,它运行得很好.在最终测试之前,我决定试一试,看看它是否在iOS 4.3上运行.我点击项目设置中的灰色5.0并选择4.3.
该应用程序无法使用以下错误消息进行构建:
故事板在iOS 4.3及更早版本中不可用
iPhone和iPad的故事板都告诉我.
问题是,当我切换回iOS5目标时,我仍然不断从两个故事板中获取这些错误,并且产品无法构建! 我检查:项目设置中的iOS部署目标是5.0目标应用部署目标是5.0构建设置使用iOS 5.0 SDK
还有什么办法可以将我的项目恢复到可构建状态?这是一个全新的错误还是我忘记了什么?
更新:即使在干净之后我也一直收到此错误. 我将Schemes中的调试器更改为"LLDB"并进行了额外的清理,现在该项目已构建并编译
我的项目中有一个现有的ViewController + xib,现在我想添加一个带静态单元格的UITableView,如下所示:

但是当我将UITableView拖到我的屏幕上时,我没有在Attributes Inspector中有"Content> Static"菜单.
我已经尝试制作我的控制器子类UITableViewController,但这没有帮助 - 我仍然没有选择在Attributes Inspector中使用静态单元格.
我查看了StackOverflow,但没有找到这个问题的任何现有答案.所有现有问题都与Storyboard(我没有使用)有关,而不是xib文件.
我的猜测是,当你将一个UITableViewController添加到一个故事板时,Xcode会产生某种魔力,但是当你将现有的xib更改为从UITableViewController继承时,它不会.
有关如何将静态单元格的表格视图添加到现有xib的任何建议吗?
我打算学习使用Story Boards开发应用程序.任何人都可以在使用StoryBoards时发布一些优点和缺点吗?
ios ×3
ios5 ×2
storyboard ×2
uistoryboard ×2
xcode ×2
build ×1
ios7 ×1
iphone ×1
uitableview ×1