ios - 只能点击 UITableView 中的一项
<p><p>所以我有一个列出数据的子类 <code>UITableView</code>。我只需要选择一个单元格。 </p>
<pre><code>- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// rows in section 0 should not be selectable
UITableViewCell *cell = (UITableViewCell *);
if (indexPath.row == 3) {
cell.userInteractionEnabled = YES;
cell.selectionStyle = UITableViewCellSelectionStyleGray;
NSLog(@"Hey whats up, address");
return indexPath;
}
else {
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
return nil;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
;
}
</code></pre>
<p>到目前为止,我执行此操作的代码有效,但仅在单击单元格至少一次之后。将其放在 didSelectCell 中,如果按住 1-2 秒,则可以选择单元格。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您应该在 <code>cellForRowAtIndexPath</code> 中执行此操作。像这样:</p>
<pre><code>-(UITableViewCell*)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// your code
if(indexPath.row != 3)
{
;
{
}
</code></pre>
<p>然后在<code>didSelectRowAtIndexPath</code>:</p>
<pre><code>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.row == 3)
{
//do your stuff
{
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 只能点击 UITableView 中的一项,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/11150993/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/11150993/
</a>
</p>
页:
[1]