ios - 为什么我的自定义 UITableViewCell 永远不会从原型(prototype)中改变?
<p><p>我有一个扩展 UITableViewCell 的自定义类。它有两个标签和一个 UISegmentedControl。</p>
<p>这是我配置的 cellForRowAtIndexPath()。当我在调试器中检查“单元格”时,它拥有我提供的所有数据。但不知何故,这些数据永远不会被应用。</p>
<pre><code>-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyCell";
CustomGameCell *cell = ;
if (!cell) {
cell = [ initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
MyData *my_data = ;
UILabel *my_date = [ init];
my_date.text = my_data.myDate;
;
UILabel *my_question = [ init];
my_question.text = my.question;
;
UISegmentedControl *my_choices = [
initWithItems:];
;
;
return cell
}
</code></pre>
<p>我想要显示的数据当前位于我在 viewDidLoad() 中创建的数组中,cellForRowAtIndexPath() 可以通过“rows”变量访问该数组。</p>
<p>当我在模拟器中运行代码时,我在表中得到三行,代表我在 viewDidLoad() 中创建的数组中的三个元素。但是,这些行的内容看起来与我在 Storyboard 中定义的完全一样。</p>
<p>我错过了什么?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><ol>
<li><p>您在哪里定义单元格的布局?在NIB中?在你的 Storyboard中?以编程方式在 <code>CustomGameCell</code> 的 <code>initWithStyle</code> 中?根据您使用的方法,实现细节略有不同,但您肯定需要在 Storyboard 中定义 NIB 或原型(prototype)单元,或者以编程方式创建控件,设置它们的框架,执行 <code>addSubview</code> 以便它们重新包含在单元格等中。</p></li>
<li><p>您的代码正在添加新的 <code>UILabel</code> 对象,而不是将它们作为 subview 添加到任何内容中,无论您是否使用出列单元格,等等。所以有很多这里的问题。要查看如何正确使用自定义单元格的示例,请参阅 <a href="http://developer.apple.com/library/ios/documentation/userexperience/conceptual/tableview_iphone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW18" rel="noreferrer noopener nofollow">Customizing Cells</a>在 <em>Table View Programming Guide 中。</em> 但是,就像我说的那样,细节会根据您设计子类 <code>UITableViewCell</code> 布局的方式而有所不同,因此我犹豫是否提出任何建议代码,直到您指定如何设计用户界面。</p></li>
</ol></p>
<p style="font-size: 20px;">关于ios - 为什么我的自定义 UITableViewCell 永远不会从原型(prototype)中改变?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/13524525/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/13524525/
</a>
</p>
页:
[1]