2010-08-27 87 views
0

在iPad上,我注意到,像Mail和WebMD这样的应用程序会在点击时突出显示的“主”(左)视图的层次结构的最终级别保持行。他们在轮换之后也记得这个状态;如果您在横向中选择电子邮件,然后旋转为纵向,然后单击收件箱按钮以显示主视图弹出窗口,则正确的项目仍会突出显示,并且列表将滚动到正确的位置。将其旋转回风景并保持正确。UISplitViewController的主视图在旋转后丢失状态

我正在使用类似于Mail的iPad应用程序。如果我在横向启动我的应用程序,从列表中选择一个项目,并旋转我的iPad,主视图似乎失去其状态;其表格滚动到顶部,没有项目突出显示。即使该设备然后返回到横向方向,该列表仍然忘记了最后一个项目被点击。

是否有一些简单/自动的方式来获取主视图在UISplitViewController保存其状态?我想我可以通过存储最后一次点击的项目的NSIndexPath并使用UITableViewscrollToRowAtIndexPath:atScrollPosition:animated:在设备旋转之前/之后将其跳转到正确的位置来重现此行为,但我希望这已经在Apple侧自动完成的东西,如果我翻转右侧的开关。

回答

3

原来,这是Apple侧的“开关” - 具体而言,clearsSelectionOnViewWillAppear属性UITableViewController默认设置为YES。将它设置为NO可以让它记住它的状态。