Ios 带有uinavigationcontroller和uitabarcontroller的iphone应用程序
我是iphone编程新手,我正在尝试构建一个应用程序,它有一个uinavigationcontroller,rootviewcontroller是一个uiviewcontroller,基本上是一个登录屏幕。从登录屏幕,用户移动到UIAbbarController,它有5个选项卡,每个选项卡是一个uinavigationcontroller,每个navigationcontroller中有两个按钮导航栏上的一个按钮显示消息视图,另一个按钮显示通知视图。每个视图都是uiviewcontroller 现在,用户可以按每个选项卡上的消息按钮,消息视图将出现,我想确保如果他按第一个选项卡上的按钮,然后转到另一个选项卡,则消息视图将消失并从内存中释放,当他按新选项卡上的消息按钮时,另一个消息视图将显示出现Ios 带有uinavigationcontroller和uitabarcontroller的iphone应用程序,ios,uinavigationcontroller,uitabbarcontroller,Ios,Uinavigationcontroller,Uitabbarcontroller,我是iphone编程新手,我正在尝试构建一个应用程序,它有一个uinavigationcontroller,rootviewcontroller是一个uiviewcontroller,基本上是一个登录屏幕。从登录屏幕,用户移动到UIAbbarController,它有5个选项卡,每个选项卡是一个uinavigationcontroller,每个navigationcontroller中有两个按钮导航栏上的一个按钮显示消息视图,另一个按钮显示通知视图。每个视图都是uiviewcontroller
我尝试在app delegate中创建单个消息视图,每次用户按下消息按钮从app delegate调用方法时,我都会在方法中检查按下了哪个选项卡,并将视图推送到属于该选项卡但无法正常工作的导航控制器。您可以嵌入登录视图在AppDelegate内部,并根据需要显示它们。从那里您可以加载rootController,它应该是您的选项卡栏。然后,您可以在每个选项卡中加载导航控制器。每个选项卡一个。可以从任何选项卡调用消息视图。只需确保控制器的分层方式正确即可
AppDel-->选项卡栏-->导航控制器-->单个视图您是否意识到可以在窗口中替换根视图控制器?您的应用程序代理的
-applicationdFinishLaunching:withOptions:
方法可能执行以下操作:
window.rootViewController = loginViewController;
设置窗口的rootViewController
属性时,窗口将添加该视图控制器的视图作为其自身的子视图
-applicationdFinishLaunching:withOptions:
没有什么特别之处——它恰好是在应用程序完成加载并准备开始工作时调用的委托方法。您可以通过其他方法设置窗口的rootViewController
属性,因此当登录视图控制器确定用户已成功登录时,它可以执行以下操作之一:
- 实例化选项卡栏控制器并设置窗口的
属性本身rootViewController
- 向其委托人(可能与应用程序委托人是同一对象)发送消息,通知其登录成功;然后,代理可以安装选项卡栏控制器
- 广播通知,告诉关心登录成功的任何人,并让其他人安装选项卡栏控制器
viewControllers
属性,您可以将该属性设置为视图控制器数组以配置选项卡。或者,您可以更改每个导航控制器的根视图控制器。但是,作为一个用户,我可以向您保证,我更喜欢单一登录视图,而不是六个单独的登录视图。请编辑您的问题,包括标点符号、大写字母和某种合理的句子结构。不要指望别人替你澄清你的问题。