设置我的表视图的边界不起作用(xcode 4.2,iOS 5.0)

时间:2011-12-11 20:07:32

标签: ios4 ios5 xcode4.2

我想设置我的表视图的边界(在UITableViewController中),使其宽度小于屏幕宽度(这样可以在表视图后面看到背景图像)。我在viewDidLoad方法中使用以下代码行:

  [[self tableView] setBounds:CGRectMake(10,44, 300, 460)]; 

但是,此行无法正常工作,并且tableview仍占用页面的整个宽度。

我该如何做到这一点?

另外,只要我在定制表视图的主题上,我也想更改单元格中文本的字体。我该怎么做呢?谢谢。

1 个答案:

答案 0 :(得分:5)

UITableViewController的{​​{1}}属性为view。所以你不能缩小它UITableView来揭示它背后的东西,因为它背后没有任何东西(至少就其而言)。

有一个相对简单的解决方案。我假设,根据您的代码示例,您的控制器上有一个名为“view”的UITableView属性,如果没有,则需要创建。

1)将视图控制器更改为tableView子类而不是UIViewController子类。通过将UITableViewController替换为.h来轻松完成YourClass:UITableViewController

2)在YourClass:UIViewController文件中,将新的.xib拖到画布上(而不是在tableView上)。

3)将tableView拖动为视图的子视图,如下所示: enter image description here

4)将文件所有者的视图属性连接为刚刚添加的UIView。

5)检查您的连接是否如下所示: enter image description here

通过这些更改,您现在可以将框架设置为小于视图的大小。您有两种选择: 1)使用类似代码的代码:

UIView

2)直接在界面构建器中更改设置。类似的东西:

enter image description here