我想设置我的表视图的边界(在UITableViewController中),使其宽度小于屏幕宽度(这样可以在表视图后面看到背景图像)。我在viewDidLoad方法中使用以下代码行:
[[self tableView] setBounds:CGRectMake(10,44, 300, 460)];
但是,此行无法正常工作,并且tableview仍占用页面的整个宽度。
我该如何做到这一点?
另外,只要我在定制表视图的主题上,我也想更改单元格中文本的字体。我该怎么做呢?谢谢。
答案 0 :(得分:5)
UITableViewController
的{{1}}属性为view
。所以你不能缩小它UITableView
来揭示它背后的东西,因为它背后没有任何东西(至少就其而言)。
有一个相对简单的解决方案。我假设,根据您的代码示例,您的控制器上有一个名为“view
”的UITableView
属性,如果没有,则需要创建。
1)将视图控制器更改为tableView
子类而不是UIViewController
子类。通过将UITableViewController
替换为.h
来轻松完成YourClass:UITableViewController
。
2)在YourClass:UIViewController
文件中,将新的.xib
拖到画布上(而不是在tableView上)。
3)将tableView拖动为视图的子视图,如下所示:
4)将文件所有者的视图属性连接为刚刚添加的UIView。
5)检查您的连接是否如下所示:
通过这些更改,您现在可以将框架设置为小于视图的大小。您有两种选择: 1)使用类似代码的代码:
UIView
2)直接在界面构建器中更改设置。类似的东西: