ios - 在我的 UITableView 中选择一个单元格时,选择似乎是随机的
<p><p>我有一个以编程方式创建的 UITableView 以及单元格,它显示了一个字体列表,用户可以从中选择以更改他们阅读时使用的字体。但是,在点击表格 View 中的单元格时,与委托(delegate)一起返回的字体系列不是单元格中显示的字体。点击“Times New Roman”一分钟会将其更改为 Helvetica,然后将其更改为 Baskerville。</p>
<p>以下是相关代码:</p>
<pre><code>- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
// Depending on which row (font) they selected, use the delegate to change the
// reading text to that font
switch (indexPath.row) {
case 0:
;
break;
case 1:
;
break;
case 2:
;
break;
case 3:
;
break;
}
}
</code></pre>
<p>还有委托(delegate)方法:</p>
<pre><code>- (void)changeFontTo:(NSString *)fontFamily {
self.textToReadLabel.font = ;
}
</code></pre>
<p>如果有帮助,这里是用于创建行的 UITableView 委托(delegate)方法:</p>
<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"FontCell";
FontCell *cell = ;
int row = indexPath.row;
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.fontFamilyLabel.text = self.fonts;
if ( isEqualToString:@"Helvetica"]) {
cell.fontFamilyLabel.font = ;
}
else if ( isEqualToString:@"Times New Roman"]) {
cell.fontFamilyLabel.font = ;
}
else if ( isEqualToString:@"Baskerville"]) {
cell.fontFamilyLabel.font = ;
}
else if ( isEqualToString:@"Dyslexic"]) {
cell.fontFamilyLabel.font = ;
}
return cell;
}
</code></pre>
<p>真的很困惑它可能是什么。我把代码弄得一头雾水,但我觉得这可能只是一个我不明白的概念导致了问题。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您在委托(delegate)中使用了 <code>didDeselectRowAtIndexPath</code> 而不是 <code>didSelectRowAtIndexPath</code>。</p></p>
<p style="font-size: 20px;">关于ios - 在我的 UITableView 中选择一个单元格时,选择似乎是随机的,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/15788024/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/15788024/
</a>
</p>
页:
[1]