将 UINavigationController 弹出到 UITableView 并显示不同的选定行

发布于 2024-12-03 18:52:07 字数 622 浏览 1 评论 0原文

我正在创建一个应用程序,其中 UITableView 是其所在的 UINavigationController 堆栈上的第一项。在 UITableView 上进行选择将将视图推送到“DetailedViewController”。在 DetailedViewController 中,您可以浏览填充表视图的项目。

弹出 DetailedViewController 并移回 UITableView 时,如何取消选择通过 DetailedViewController 导航到的相应项目并将其显示在 UITableView 的中心?

每个人都可以看到的一个例子是邮件应用程序。当您在收件箱中进行选择时,您会推送“DetailedViewController”。在那里,您可以浏览 UITableView 中填充的项目。当您弹出 DetailedViewController 时,它会取消选择您最后在 DetailedViewController 中查看的相应项目。

I am creating an application with a UITableView being the first item on the stack of the UINavigationController that it's in. Making a selection on the UITableView will push the view to a "DetailedViewController". In the DetailedViewController, you can navigate through items that the table view is populated with.

When popping the DetailedViewController, and moving back to the UITableView, how can I deselect the respective item that I've navigated to through the DetailedViewController and display it centered in the UITableView?

An example that everyone can see would be the Mail application. When you're in your inbox and make a selection, you push a "DetailedViewController". There, you can navigate through the items populated in the UITableView. When you pop the DetailedViewController, it deselects the respective item that you were looking at last in the DetailedViewController.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

惟欲睡 2024-12-10 18:52:07

要取消选择所选行,请编写以下代码 viewDidAppear: 方法。

// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];

// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];

// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow 
       atScrollPosition:UITableViewScrollPositionMiddle 
               animated:YES];

To deselect the selected row, write the following code viewDidAppear: method.

// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];

// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];

// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow 
       atScrollPosition:UITableViewScrollPositionMiddle 
               animated:YES];
瑾夏年华 2024-12-10 18:52:07

根据您想要的动画外观,您可以简单地取消选择当前选定的行。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
     ...
}

Depending on how you want the animation to look you could simply deselect your currently selected row.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
     ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文