通用应用程序设计 1 个表格视图,可在单击单元格时打开不同的视图,具体取决于 iPad 或 iPhone
我正在制作一个通用应用程序,但我遇到了一个令我困惑的情况。在 iPad 上,我使用分割视图,我想制作一个在 iPad 和 iPhone 上共享的 UITableViewController
。我这样做了,但现在当用户单击表格单元格时我需要响应。在 iPhone 上,我将初始化一个新的视图控制器并将其推送到 UINavigationController
堆栈中,但在 iPad 上,我将初始化一个不同的 UIViewController
并将其显示在详细视图窗格中。我知道如何自行执行每个操作,但如何编写 UITableViewController
以便它知道要执行哪个操作,具体取决于它是 iPhone 还是 iPad?
有更好的方法来处理这个问题吗?
I'm making a universal app and I've run across a situation I'm stumped on. On the iPad I'm using a split view, and I would like to make a UITableViewController
that is shared on both the iPad and iPhone. I did that, but now when the user clicks a table cell I need to respond. On the iPhone I will init a new view controller and push it in the UINavigationController
stack, but on the iPad I will init a different UIViewController
and display it in the detail view pane. I know how to do each of these actions by its self, but how do I write the UITableViewController
so that it knows which action to preform depending if its the iPhone or iPad?
Is there a better way to handle this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是我在完全相同的情况下所做的事情。
表视图控制器有一个名为
detailViewController
的属性。如果此属性不是nil
,那么我会根据触摸的单元格更新该视图。如果该属性为nil
,我一定位于 iPhone 上且位于UINavigationViewController
内。我使用 self.navigationController 来推送我的新 iPhone 视图。Here's what I did in that exact same situation.
The table-view controller had a property called
detailViewController
. If this property is notnil
than I updated that view based on what cell was touched. If that property wasnil
I must be on the iPhone and inside aUINavigationViewController
. I useself.navigationController
to push my new iPhone view.