将 UITableVIew 添加到视图
Posted
技术标签:
【中文标题】将 UITableVIew 添加到视图【英文标题】:Adding a UITableVIew on to a View 【发布时间】:2015-03-25 15:41:26 【问题描述】:当用户点击按钮时,我会滑入UIView
(此UIVIew
是通过XIB
文件创建的)。
我已将TableView
添加到此XIB
文件并连接datasource
和delegate
。见下图:
在 View 类中我添加了以下方法。
-(id)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
[self addSubview:self. tablev];
在头文件中我有以下代码。
@interface FlipView : UIView <UITableViewDataSource,UITableViewDelegate>
UIViewController
类的代码。这个类中有一个按钮,当用户点击它时,UIView
将显示。单击按钮时将执行的代码。
fv = [[FlipView alloc] initWithFrame:cell.bounds];
[self.view addSubview:fv];
[self.view addSubview: fv];
view
与 tableview 完美弹出。但是,不会填充 tableview 上的内容。当我调试代码时,我发现没有调用委托方法。我该如何解决这个问题?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
MyCell
*cell = [tableView dequeueReusableCellWithIdentifier:@"c" forIndexPath:indexPath];
if (cell == nil)
cell = [[MyCell
alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@"c"];
cell.la.text=@"hiiiii";
【问题讨论】:
请显示完整代码,我认为 numberOfRow = 0 【参考方案1】:数据源和代理连接到文件的所有者和不 FlipView。您可以从 xib 中删除委托和数据源,并以编程方式添加:
self.tableView.delegate = self;
self.tableView.dataSource = self;
我建议在 initWithFrame 方法中这样做。
【讨论】:
我添加了断点。它仍然没有进入cellforrowatindexpath
集合委托和数据源是否被调用?
是的。当我添加断点时,它执行了这些行。帮助。
我猜你的表格视图仍然为零。可以查一下吗?
我如何检查它是否是nil
?以上是关于将 UITableVIew 添加到视图的主要内容,如果未能解决你的问题,请参考以下文章
将视图添加/删除到表视图的超级视图后,UITableView 停止滚动
如何将 UITableView 作为子视图添加到 xib 中的 UIView?
使用自动布局将子视图添加到 UITableView 不会设置其框架