我创建了自定义提醒视图,我想将UITableView
添加为子视图。我还没有通过UITableView
创建(IB)
,但是以编程方式创建了,我还实现了协议UITableViewDelegate
中的UITableViewDataSource
和UIView
。但未调用方法cellForRowAtIndexPath
。
我认为问题在于我必须通过IB创建UITableView
使其可见。可能不是通过IB
创建,而是使用下面的代码并实现委托方法。
这是代码
privacy_tableview = [[UITableView alloc] initWithFrame:CGRectMake(10.0, 0.0, alert_width-40.0, 0.0)]; [privacy_tableview sizeToFit];
privacy_tableview.frame = CGRectMake(10.0, 0.0, alert_width-40.0, privacy_tableview.frame.size.height);
//Add scrollview which contain uitableview
MsgScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10.0, alert_height, alert_width-20.0, (privacy_tableview.frame.size.height>max_msg_height)?max_msg_height:privacy_tableview.frame.size.height)];
[privacy_tableview setDataSource:self];
[privacy_tableview setDelegate:self];
[privacy_tableview reloadData];
答案 0 :(得分:2)
表的高度为零privacy_tableview.frame.size.height = 0.0并且根据iOS的表视图编程基础,只创建可见单元格并显示在表格中。
因此,将高度增加到至少一行的高度可以调用TableView的cellForRowAtIndexPath方法。