gpt4 book ai didi

iphone - 多个选项卡中的相同 View

转载 作者:可可西里 更新时间:2023-11-01 05:47:54 25 4
gpt4 key购买 nike

我的应用程序有一个带有四个选项卡的 UITabBar...每个选项卡都有自己的自定义 UIViewController。其中三个在屏幕上的同一个位置有一个 map 和其他 UI 元素。在其中两个 View 中, map 最初是隐藏的。

让这三个 View 成为同一个 View Controller 的同一个实例似乎更有意义……并且只隐藏/显示元素。可以用标签栏做到这一点吗?

最佳答案

我认为那些回答"is"的人没有仔细阅读您的问题。您询问是否有可能“使这三个 View 成为同一 View Controller 的相同实例”。您当然可以使用同一个 UIViewController 子类的三个不同实例,但我认为您不会想要使用同一个实例。

老实说,我从来没有尝试过这个,但出于以下几个原因,我不认为它会起作用:

  1. 为每个选项卡显示的标题和图标是通过 View Controller 的 tabBarItem 属性定义的。如果同一个 UIViewController 实例在选项卡栏 Controller 的 viewControllers 数组中出现多次,那么每个选项卡也会共享相同的 tabBarItem,这意味着您无法为每个选项卡提供唯一的标签和图标。

  2. 为了在您从一个选项卡切换到另一个选项卡时节省内存,UIKit 将卸载消失的 View Controller 的 View 。如果您切换到的 View Controller 与消失的 View Controller 是同一个实例,UIKit 可能会在显示时尝试卸载它的 View 。我预计这会产生内存管理错误,可能导致您的应用因 EXC_BAD_ACCESS 信号而崩溃。

与其对多个选项卡使用相同的实例,我建议使用以下选项之一:

一个。使用同一个 UIViewController 子类的多个实例,并设置属性以唯一地配置每个实例。

B.创建一个基本 UIViewController 子类来实现所有三个选项卡共有的那些方面,然后创建您的基类的三个子类来实现每个选项卡独有的那些方面。

关于iphone - 多个选项卡中的相同 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6682651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com