我正在创建一个简单的程序,其中有一个主视图,它具有分段控件和徽标以及一些空白区域。当用户单击分段控件的一部分时,会在分段控件下方显示一个视图,该视图有6个按钮,可将用户引导至不同的视图。
我希望用户单击按钮后出现的视图不应出现在按钮所在的视图上(如果我使用“addSubView”选项,它将会出现)。相反,我希望视图出现在整个屏幕上,这意味着我希望结果视图(在单击按钮后)出现在主视图上。
先谢谢。
答案 0 :(得分:1)
您可以为需要在其自己的类之外访问的所有控件创建属性。然后您可以按如下方式访问它:
Class c = [[Class alloc] init];
someValue = c.mypropery;
答案 1 :(得分:1)
看看UINavigationController。当用户单击六个按钮之一时,您可以使用pushViewController:animated:导航到新视图。默认情况下,这也会在屏幕顶部为您提供导航栏,允许用户返回。如果你不想那样,你可以关闭它。
答案 2 :(得分:0)
我不明白你的问题,但你可以使用很多方法来管理视图层次结构
– addSubview: – bringSubviewToFront: – sendSubviewToBack: – removeFromSuperview – insertSubview:atIndex: – insertSubview:aboveSubview: – insertSubview:belowSubview: – exchangeSubviewAtIndex:withSubviewAtIndex:
答案 3 :(得分:0)
您仍然可以使用addSubView:
,只是因为您不想[viewWhereYouHaveButtons addSubView:someView]
,而是[yourMainView addSubView:someView]
。
答案 4 :(得分:0)
您的要求是:有没有一种方法可以让子视图告诉我的mainView添加新视图。这可以通过授权,单身人士或通知来完成。我建议使用简单的通知:
// This is your observer listening for the notification named @"LaunchViewOne"
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(LaunchViewOne) name:@"LaunchViewOne" object:nil];
// This is supplying the notification
[[NSNotificationCenter defaultCenter] postNotificationName:@"LaunchViewOne" object:nil];
因此,当您按下按钮时,请使用postNotification。