gpt4 book ai didi

iphone - 基于全局变量的变化 View Controller

转载 作者:行者123 更新时间:2023-11-29 03:59:44 25 4
gpt4 key购买 nike

我目前正在开发涉及签名过程的应用程序。它是选项卡栏应用程序,但为了简单起见,我将使用仅包含 2 个选项卡的示例。主页和设置。

在家里,用户会在主屏幕上看到各种照片和最后的消息。但是,当用户未登录时,有默认的匿名 View 。

我的问题是,你们如何使用一个 View Controller 和两个不同的复杂 View 。启动应用程序后默认主视图 Controller 。我正在使用 Storyboard,因此只有一个 View Controller 可以是 HomeViewController。(显然:))

我知道在一个 View Controller 上执行多个 UIView 并基于全局变量(NSUserDefaults)隐藏/显示这些 View 的可能性。问题是,这两种观点都有很多出路。 ( ScrollView 、表格 View 等)。因此,首先,在 UIView 上对所有这些导出进行编程将是一项硬核任务,并且会存在大量冗余。 (已登录的用户将登录,但必须下载所有 UIView 的数据,其中包括未注册用户的 View )。

根据用户是否登录创建两个 View Controller 并显示一个会更容易。(只需检查 appdelegate 的 applicationdidfinishloading 中的 NSUserDefaults 字典)

最佳答案

您可以实现使 HomeViewController 成为控制多个 View Controller 的 Controller 。与 UINavigationControllerUITabViewController 如何控制许多 viewController 以及哪些 viewController 可见。

你的 HomeViewController 看起来像这样:

@interface HomeViewController : UIViewController

@property (strong, nonatomic) UIViewController *authenticatedVC;
@property (strong, nonatomic) UIViewController *anonymousVC;

- (void)showAuthenticatedView;
- (void)showAnonymousView;

@end

@implementation HomeViewController

- (void)viewDidLoad
{
[super viewDidLoad];

// init your VCs
self.authenticatedVC = [[UIViewController alloc] init];
self.anonymousVC = [[UIViewController alloc] init];

// show your initial VC (assuming anonymousView is you default)
[self.view addSubview:self.authenticatedVC.view];
}

- (void)showAuthenticatedView
{
// remove current view
[self.authenticatedVC.view removeFromSuperView];

// display authenticatedView
[self.view addSubview:self.authenticatedVC.view];
}

- (void)showAnonymousView
{
// remove current view
[self.authenticatedVC.view removeFromSuperView];

// display showAnonymousView
[self.view addSubview:self.anonymousVC.view];
}

@end

** 更新:这是来自 ios 开发库的有关创建自定义容器 View Controller 的链接:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html

关于iphone - 基于全局变量的变化 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038250/

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