2012-01-28 52 views

回答

1

你可以改变它在IB,但除非你自定义视图控制器在某种程度上,这将其设置为全屏(模块封装喜欢导航,标签栏,拆分视图等控制器)这只是顺便视图控制器的工作。

从Apple文档:

当在屏幕上显示的图控制器,其根视图是 通常调整大小以适合可用的空间,可以在该窗口的当前方向和存在根据 变化其他 等状态栏等界面元素。

您可以创建另一个UIView握住你的表视图,然后有在表视图大小更多的控制权,但你不会是一个表视图控制器和将要实施的某些东西,表视图控制器为您提供,例如,deselectRowAtIndexPathviewDidAppear

+0

这正是我终于实现了,设置的tableview为根的子视图认为视图控制器,并重新执行一些的UITableViewController的本机功能(如setEditing:动画:,和定制viewDidLoad中其取消选择所有细胞)。谢谢你的提示 – lms 2012-01-29 20:08:45

+0

小评:你提到的'viewDidLoad'取消细胞:如果你在一个导航排序的方式使用此,典型的背/流行音乐的行为可能不叫'viewDidLoad'。如果视图从消失后卸载,那么只会得到'viewDidLoad',这是不典型的。你真的想在'viewDidAppear'中取消选择。这是苹果在应用商店评论中寻找的东西之一。 – smparkes 2012-01-29 20:50:12

+0

我的错误,那是一个错字,其实我在viewDidAppear里面取消了选择。 – lms 2012-01-30 10:33:38

2

当你创建你的IB tableViewController,如果你然后去节上,所有的选项都设置大小为“自由”,然后将其拖动到任何你喜欢的屏幕的右侧。当你初始化它时,它会得到这个帧。除非它在容器控制器内。

做你所追求的最好方法是创建一个的viewController和添加表视图的视图。使表视图变窄,使主控制器视图连接到控制器上的IBOutlet。如果你然后让你的控制器实现和方法,你将能够完全按照你的想法使用你的表格视图。

希望这是对你有所帮助,如果这是不清楚或需要的任何额外的帮助,让我知道:)

+0

这正是我所要做的。谢谢你的提示! – lms 2012-01-29 20:09:11