在XIB文件中添加带有动态内容的UITableView
有没有办法在XIB file
添加UITableView
(不是Table View Controller
,而是另一个视图中的TableView )并将其内容设置为"Dynamic Prototype"
?
在storyboard
中的视图控制器中添加UITableView
时,此工作正常。 但是,当我尝试在XIB文件中执行相同操作时,我无法将其内容设置为"Dynamic Prototype"
。
不是100%肯定的,但我不认为有一种方法可以将UITableView内容设置为XIB文件中的“动态原型”。
但是,您可以通过创建另一个XIB文件(称为“MyTableViewCell.xib”)来实现相同的功能,该文件仅包含UITableViewCell,为单元格指定标识符,然后转到文件所有者并在身份检查器中将其设置为相同的视图控制器类作为你的table view xib,然后在你的视图控制器中创建一个IBOutlet,如下所示:
@property (nonatomic, assign) IBOutlet UITableViewCell *customCell;
然后在XIB中,单击文件的所有者并控制 - 拖动到uitableviewcell并将单元格的插口设置为“customCell”属性。
(如果您在图形编辑器左下角的圆圈内找到类似播放按钮的按钮,点击该按钮,然后拖动该列,这可能会轻松得多。
毕竟,在cellForRowAtIndexPath中使用类似如下的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"MyTableViewCell" owner:self options:nil];
cell = customCell;
}
// Other cell configurations....
}
希望这是有道理的,并适合您的需求!
更新
如果你调整tableview的大小,请注意一个问题。 xml将被Xcode重新生成并要求您重新添加该属性。 我已确认此编辑在9.3+版本中仍然有效。 示例存根可在https://github.com/mingsai/test-stub-tableviewdynamic-inxib.git获得。
原始答复
tableview
标签内找到style属性 dataMode="prototypes"