了解View Controller嵌入iOS

了解View Controller嵌入iOS,第1张

概述在过去几天中,我一直在撕裂我的头发,试图理解这一个看似基本的iOS开发概念: >如果我想要在两个或更多的View Controllers中显示和使用相同的“screenful”,是这样的: >根据苹果的“每个屏幕内容一个VC”不建议 完全可以通过代码添加VC >只是没有完成相反,使用一个VC,只需添加模仿您想要的视图控制器的功能的代码。 让我再说一句: 如果我想在iPad应用程序中占用屏幕左侧大部 在过去几天中,我一直在撕裂我的头发,试图理解这一个看似基本的iOS开发概念:

>如果我想要在两个或更多的VIEw Controllers中显示和使用相同的“screenful”,是这样的:

>根据苹果的“每个屏幕内容一个VC”不建议
完全可以通过代码添加VC
>只是没有完成相反,使用一个VC,只需添加模仿您想要的视图控制器的功能的代码。

让我再说一句:

如果我想在iPad应用程序中占用屏幕左侧大部分的UIVIEw(A)和占用屏幕右侧其余部分的第二个UIVIEw(B)而我想添加一个按钮到UIVIEw B,当点击将使用模态转换滑动一个UItablevIEw替换UIVIEw B,然后这个UItablevIEw将像一个典型的UItablevIEwController,当用户从表中选择一个项目时,典型的事件被发送到tablevIEw控制器以推入一组新的项目,这是可能的吗?

在我看来,如果我已经能够轻松地创建两个独立的UIVIEwControllers,并且在一个VC中有一个按钮可以模式地启动第二个VC,为什么我不能组合这个功能,以便一个VC有两个孩子的VC,以及那些孩子的VC处理自己的模态转换。

或者是在这样的情况下最好的做法是简单地拥有一个处理所有内容的VC,然后在各种UI元素的各种点击之后手动处理各种视图中的幻灯片/动画幻灯片。

你可以告诉我,我认为我读过太多的不同的,相互矛盾的回答,这个问题类似于我已经完全混淆了什么是什么了。如果有人在那里了解我得到什么,可以借助一个帮助的解释或一些指针ID非常感谢它。

解决方法 答案取决于您是否需要支持iOS 4。如果是,答案是:

答案编号1 – 除了苹果自己的容器控制器,尤其是UITabbarController,UINavigationController,UISplitVIEwController,UIPageVIEwController和UIPopoverController(我没有想过任何?)没有正确的支持方式让多个视图控制器在同一个屏幕上激活,管理不同的部分的看法。查看控制器方法,如presentModalVIEwController等都假设有一个“最前端”的视图控制器拥有整个屏幕,如果您尝试使多个视图控制器管理视图的不同部分,各种各样的事情将断开,如转发屏幕旋转事件,并在页面转换后调整视图的大小/位置。

但是,如果只需要支持iOS 5,那么答案是:

答案2 – 没问题!只需确保所有子页面视图控制器正确连接到管理整个页面的主视图控制器。这意味着,除了控制器的意见是普通父视图的子视图外,控制器本身也应该是一个共同的父控制器的子控制器。只要控制器的parentVIEwController属性都设置正确,您应该能够管理这种复合界面,而不必太麻烦。

不幸的是,Apple只在iOS5中为childVIEwController和parentVIEwController添加了公共设置器。在iOS4及更早版本中,您仅限于苹果自己的容器控制器安排,无法创建自己的(至少不是没有事件转发问题)。

所以假设你现在需要支持iOS4,答案3似乎是你最好的选择:使用多个视图构建您的界面,但是单个控制器。这不算太糟糕。您可以创建管理自己的子视图的自定义视图子类(例如,没有规定说tableVIEwDataSource或委托必须是UIVIEwController子类,或者一个按钮IBAction必须是视图控制器上的方法而不是另一个视图)。

您实际上会发现,通常构建到视图控制器中的大多数功能可以内置到“智能”容器视图中,从而允许您将屏幕分为多个管理自己内容的独立“控制器视图”。

唯一有点麻烦的是做一些视图和下一个视图之间的转换。为此,您将无法使用标准的PresentModalVIEwController或pushVIEwController方法,您必须自己使用CATransitions或UIVIEw动画来完成动画。

总结

以上是内存溢出为你收集整理的了解View Controller嵌入iOS全部内容,希望文章能够帮你解决了解View Controller嵌入iOS所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1036822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存