xCode表视图集边界

xCode表视图集边界,xcode,tableview,setbounds,Xcode,Tableview,Setbounds,正在尝试将我的表视图的边界设置为小于我的屏幕。我在viewDidLoad方法中设置了它,但在运行时什么也没有发生。不知道为什么它不起作用。我叫对地方了吗 //OptionsViewController.m - (void)viewDidLoad { [super viewDidLoad]; self.tableView.frame = CGRectMake(1,1,29,80); } // OptionsViewController.h #import &l

正在尝试将我的表视图的边界设置为小于我的屏幕。我在viewDidLoad方法中设置了它,但在运行时什么也没有发生。不知道为什么它不起作用。我叫对地方了吗

 //OptionsViewController.m

 - (void)viewDidLoad
 {
     [super viewDidLoad];
     self.tableView.frame = CGRectMake(1,1,29,80);
 }

 //  OptionsViewController.h
 #import <UIKit/UIKit.h>

 @interface OptionsViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
 {
     NSIndexPath *selectedRowIndex;
 }

 @property (weak, nonatomic) NSIndexPath *selectedRowIndex;
 @property (weak, nonatomic) IBOutlet UITableView *tableView;

 @end
//选项ViewController.m
-(无效)viewDidLoad
{
[超级视图下载];
self.tableView.frame=CGRectMake(1,1,29,80);
}
//选项ViewController.h
#进口
@界面选项ViewController:UIViewController
{
NSIndexPath*selectedRowIndex;
}
@属性(弱,非原子)NSIndexPath*selectedRowIndex;
@属性(弱、非原子)IBUITableView*tableView;
@结束

在ViewDidDisplay方法中设置帧。它起作用了。您可能需要查看以下问题和答案以获得良好的解释:


TL;DR-在viewDidLoad期间,UI元素尚未绘制到屏幕上。

您是否也在故事板中查看表格??如果是这样的话,那么从故事板中删除tableview,并以编程方式为其指定边界,就像在viewDidLoad中所做的那样。我之所以这么问,是因为您使用了tableView的IBOutlet,如果您是动态创建tableView的,则不需要使用IBOutlet。