当我在代码中创建 UITableView 并将其添加为代码中的子视图时,一切正常。有绿色的 tableview 可见。我为此创建的代码示例。
- (void)getOverviewTable
{
// Adding the TableView
OverviewTableViewController *overviewTableViewController = [[OverviewTableViewController alloc] init];
UITableView *overviewTableView = [[UITableView alloc] initWithFrame:(CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height))];
// Set the datasource and delegete will come here
[overviewTableView setBackgroundColor:[UIColor greenColor]];
[self.view addSubview:overviewTableView];
}
但是在我为 TableView 设置了 DataSource 和 Delegete 之后,我会收到一个警告。达到它的总代码如下:
- (void)getOverviewTable
{
// Adding the TableView
OverviewTableViewController *overviewTableViewController = [[OverviewTableViewController alloc] init];
UITableView *overviewTableView = [[UITableView alloc] initWithFrame:(CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height))];
// Set the datasource and delegete will come here
[overviewTableView setDataSource:overviewTableViewController];
[overviewTableView setDelegate:overviewTableViewController];
[overviewTableView setBackgroundColor:[UIColor greenColor]];
[self.view addSubview:overviewTableView];
}
大多数时候它只是一个 EXC_BAD_ACCESS 错误,但有时它会显示以下错误。
[UITransitionView numberOfRowsInSection:]: unrecognized selector sent to instance
'OverViewTableViewController' 被一个空的 UITableViewController 类替换,但错误仍然出现。
(应用程序的要点是全屏接管,必须将其滑开才能看到其下方的表格视图)
编辑:
该函数是从 viewDidLoad 函数调用的
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.jpg"]]];
// Setting the home takeover
[self setHomeTakeOver];
// Wait one seconde before we load the tableview
[self getOverviewTable];
//[self performSelector:@selector(getOverviewTable) withObject:nil afterDelay:1.0];
}