首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SplitViewController中的UITable单元格选择

SplitViewController中的UITable单元格选择
EN

Stack Overflow用户
提问于 2010-10-30 04:05:41
回答 4查看 1.1K关注 0票数 0

我有一个带有用于导航的表视图的UISplitViewController。它类似于邮件应用程序。当您在纵向模式下单击表格视图时,弹出窗口会隐藏起来。当您单击导航栏以返回弹出窗口时,所选项目不再显示为选中状态。如何在不重新选择该项目的情况下使其显示为选中状态?(就像在邮件应用中一样)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-02 00:26:13

我已经有了一个有效的解决方案,但它令人沮丧地破解。我得给selectRowAtIndexPath打两次电话。似乎cellForRowAtIndexPath正在使在viewWillAppear中所做的选择无效。但是,仍然需要在viewDidAppear中调用它,因此在调用cellForRowAtIndexPath之前,视图会滚动到适当的位置。

代码语言:javascript
复制
- (void)viewWillDisappear:(BOOL)animated
{
    NSIndexPath *selected = [self.tableView indexPathForSelectedRow];
    _selectedRow = selected.row;
}

- (void)viewDidAppear:(BOOL)animated
{
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_selectedRow inSection:0];
    [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //initialize cell code here...

    if (indexPath.row == _selectedRow) {
        [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];
    }   
}
票数 0
EN

Stack Overflow用户

发布于 2011-04-22 02:50:38

在您的viewDidLoad方法中,是否调用

self.clearsSelectionOnViewWillAppear = NO;

Xcode的SplitView模板就是这样做的。

票数 3
EN

Stack Overflow用户

发布于 2010-10-30 06:00:43

您是否有任何更改

代码语言:javascript
复制
[tableView deselectRowAtIndexPath:indexPath animated:YES];

在RootViewController中的didSelectRowAtIndexPath中吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4055490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档