gpt4 book ai didi

第一次点击时未调用 UITableView didSelectRowAtIndexPath

转载 作者:行者123 更新时间:2023-12-02 07:11:11 27 4
gpt4 key购买 nike

我遇到了 ios 5 的 UITableView 的 didSelectRowAtIndexPath 问题,这在 ios 4 中是正确的。

第一次点击表中的任何行时,不会调用该方法。一旦我选择另一行,它就会调用 didSelectRowAtIndexPath,但传递最后一个索引路径。

我已经设置了tableView.delegate,在ios4中可以正常运行。

MainView.xib
UITabBarController
--UINavigationController
--**UITableViewController**

有什么建议吗?

- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.delegate = self;
self.tableView.dataSource = self;
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [[NSString alloc]initWithFormat:@"%d",indexPath.row];
return cell;
}

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"%d",indexPath.row);
}

最佳答案

您可能已经实现了(注意取消选择):didDeselectRowAtIndexPath

...因此在选择一个新单元格时触发,取消选择第一个单元格,并将 indexPath 也记录为第一个单元格。

解决方案: didSelectRowAtIndexPath

是的,它们看起来非常相似,而且 didDeselectRowAtIndexPath 是 Xcode 自动完成功能在大多数情况下选择的第一个方法,这也无济于事。

完整代码:

// right
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {}

关于第一次点击时未调用 UITableView didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com