【发布时间】:2018-04-29 17:20:59
【问题描述】:
我正在创建一个使用 UITableView 和 UITableViewCell 的页面。上图是一个以编程方式创建的 UITableViewCell。
这个 UITableViewCell 是在 cellForRowAtIndexPath 中创建的,我在其中使用视图标签并在调用 cellForRowAtIndexPath 时重用带有标签的视图
-------------------- 单元格创建代码 ------------------------ ---
NSString* reuseIdentifier = @"NameNCityCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
// Configure the cell...
if (nil == cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
}
[self configureCell:cell withIndexPath: indexPath];
在这个 UITableViewCell 中,当我们点击 city 时,会打开一个新控制器,我可以在其中选择城市,这将反映在当前视图控制器的 City Column 中。
现在问题来了。
当我打开带有此单元格的页面时,会创建新单元格,但是在点击 citycontroller 并选择 city 后,它会进入前一个控制器,而不是使用相同的单元格,而是创建新的 .所以它就像一个单元格在另一个单元格之上(重复)
现在我再次点击 citycontroller 并选择城市,当涉及到这个 VC 时,它会使用来自 2 个视图的隐藏视图。
我需要知道我应该怎么做才能不创建两个视图。我想使用相同的视图。
如果您需要更多详细信息,请立即联系我。
【问题讨论】:
-
你不需要整个
if (nil == cell)....部分,删除它,对于你的问题,你应该在这里发布单元格点击处理功能 -
然后每次创建一个新单元格
-
@SudhanshuGupta 你能在选择城市和点击单元格时显示代码吗?
-
configureCell:withIndexPath:该方法的代码是什么?
标签: ios objective-c iphone uitableview cocoa-touch