ios - 重用 'expensive' UIViewController

标签 ios uiviewcontroller uistoryboard avplayerviewcontroller

我将 AVPlayerViewController(就资源而言是昂贵的)嵌入到 UIViewController 中(使用包含)。我需要在导航堆栈中随后推送的 View Controller 中使用另一个 AVPlayerViewController ,但如果我可以将其从父级中删除并将其嵌入子级中,那就太好了。当 child 弹出时,我想将其嵌入到 parent 中。执行此操作的优雅方法是什么(代码或 Storyboard)?

最佳答案

您需要在代码中完成。创建您的“昂贵” View Controller 并使用强引用将其存储在某处。您可以在任何地方以编程方式显示它,然后您可以关闭它,但它将通过强引用存储。稍后您可以再次显示它。

附言看起来你的 View Controller 有 AVPlayer,在这种情况下,你可能需要添加一些方法来在重用或暂停播放之前“删除”它的状态

关于ios - 重用 'expensive' UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301712/

相关文章:

ios - GTMHTTPUploadFetcher connectionDidFinishLoading中的断言失败

iOS Calendar EventKit 在重复事件中创建/访问实例

ios - 无法在 UIViewController 中为 UIBarButtonItem 创建 IBOutlet

iphone - 如何跨多个 View Controller 处理通用 xib 或控件?

uiviewcontroller - 进入UINavigationController(Storyboard)之前的欢迎屏幕

objective-c - 应用内购买取消自动续订的通知

ios - 在 UITableView 上创建一个 float 按钮

ios - 程序化 UINavigationController 和 segue 离开

ios - instantiateViewControllerWithIdentifier 和 initWithNibName 的区别?

ios - 使用 Storyboard 对 map View iOS 7 进行控制