我有一个应用程序,它有一个顶部的导航栏和底部的标签栏。
其中一个选项卡显示带有自定义控制器的表的XIB文件。
此UITableView是由MyTableViewController类创建的。
我对这张桌子的大小有意见。表格的边框大小不好(它是全屏iphone的大小,不考虑状态/选项卡/导航栏的大小),但是它的位置很好(它从导航栏开始)。
在表格的XIB (这是一个单独的XIB文件,它只包含表格)中,我尝试了设置和删除顶部/底部(导航/制表符)栏来更改表格大小。
这没什么用。
然后我试着从控制器定制它:
- (void)viewDidLoad {
self.view.frame = CGRectMake(0, 20, 320, 270); // a lot shorter than I need it, but just to prove the point
[super viewDidLoad];
}我在那里设置了一个断点,实际上正在调用viewDidLoad,但是表的大小是相同的。
我做错了什么?
发布于 2009-10-22 16:42:43
如果在设置帧之前先调用超级viewDidLoad会怎么样?由于您是从XIB加载视图,因此超级viewDidLoad可能会覆盖您的self.view.frame = ...
- (void)viewDidLoad {
[super viewDidLoad];
self.view.frame = CGRectMake(0, 20, 320, 270); // a lot shorter than I need it, but just to prove the point
}发布于 2009-10-22 03:41:18
确保你的"Springs & Struts“(Tools菜单> Size Inspector)在Interface Builder集合中,这样它就是一个适当的扩展/收缩视图。最有可能的是,这意味着框的外面有4条红色实线,里面有2条(看不到虚线)。
https://stackoverflow.com/questions/1603071
复制相似问题