是否可以在Interface Builder中更改UITableViewController的UITableView框架?我想制作我的桌子,我在IB中实例化了一下,稍微窄一点。如何在Interface Builder中设置UITableView的大小?
1
A
回答
1
你可以改变它在IB,但除非你自定义视图控制器在某种程度上,这将其设置为全屏(模块封装喜欢导航,标签栏,拆分视图等控制器)这只是顺便视图控制器的工作。
从Apple文档:
当在屏幕上显示的图控制器,其根视图是 通常调整大小以适合可用的空间,可以在该窗口的当前方向和存在根据 变化其他 等状态栏等界面元素。
您可以创建另一个UIView
握住你的表视图,然后有在表视图大小更多的控制权,但你不会是一个表视图控制器和将要实施的某些东西,表视图控制器为您提供,例如,deselectRowAtIndexPath
在viewDidAppear
。
2
当你创建你的IB tableViewController,如果你然后去节上,所有的选项都设置大小为“自由”,然后将其拖动到任何你喜欢的屏幕的右侧。当你初始化它时,它会得到这个帧。除非它在容器控制器内。
做你所追求的最好方法是创建一个的viewController和添加表视图的视图。使表视图变窄,使主控制器视图连接到控制器上的IBOutlet。如果你然后让你的控制器实现和方法,你将能够完全按照你的想法使用你的表格视图。
希望这是对你有所帮助,如果这是不清楚或需要的任何额外的帮助,让我知道:)
+0
这正是我所要做的。谢谢你的提示! – lms 2012-01-29 20:09:11
这正是我终于实现了,设置的tableview为根的子视图认为视图控制器,并重新执行一些的UITableViewController的本机功能(如setEditing:动画:,和定制viewDidLoad中其取消选择所有细胞)。谢谢你的提示 – lms 2012-01-29 20:08:45
小评:你提到的'viewDidLoad'取消细胞:如果你在一个导航排序的方式使用此,典型的背/流行音乐的行为可能不叫'viewDidLoad'。如果视图从消失后卸载,那么只会得到'viewDidLoad',这是不典型的。你真的想在'viewDidAppear'中取消选择。这是苹果在应用商店评论中寻找的东西之一。 – smparkes 2012-01-29 20:50:12
我的错误,那是一个错字,其实我在viewDidAppear里面取消了选择。 – lms 2012-01-30 10:33:38