我正在创建一个简单的程序,其中有一个主视图,它具有分段控件和徽标以及一些空白区域。当用户单击分段控件的一段时,会在分段控件下方出现一个视图,该控件有6个按钮,可将用户引导至不同的视图。用另一个视图的结果推送不同视图的视图
我希望在用户点击按钮后出现的视图不应该出现在按钮所在的视图中(如果使用该“addSubView”选项,它将会出现)。相反,我希望视图出现在整个屏幕上,这意味着我希望得到的视图(单击按钮后)显示在主视图上。
在此先感谢。
我正在创建一个简单的程序,其中有一个主视图,它具有分段控件和徽标以及一些空白区域。当用户单击分段控件的一段时,会在分段控件下方出现一个视图,该控件有6个按钮,可将用户引导至不同的视图。用另一个视图的结果推送不同视图的视图
我希望在用户点击按钮后出现的视图不应该出现在按钮所在的视图中(如果使用该“addSubView”选项,它将会出现)。相反,我希望视图出现在整个屏幕上,这意味着我希望得到的视图(单击按钮后)显示在主视图上。
在此先感谢。
你问的是:有没有一种方式,子视图可以告诉我的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。
我不明白你的问题,但你可以用很多方法来管理视图层次
– addSubview: – bringSubviewToFront: – sendSubviewToBack: – removeFromSuperview – insertSubview:atIndex: – insertSubview:aboveSubview: – insertSubview:belowSubview: – exchangeSubviewAtIndex:withSubviewAtIndex:
您仍然可以使用addSubView:
,只是你不想做[viewWhereYouHaveButtons addSubView:someView]
,但[yourMainView addSubView:someView]
。
您可以为您需要在自己班级以外访问的所有控件创建属性。然后你可以访问它如下:
Class c = [[Class alloc] init];
someValue = c.mypropery;
看看UINavigationController。当用户点击六个按钮之一时,您可以使用pushViewController:animated:导航到新视图。默认情况下,这也会让你在屏幕顶部的导航栏允许用户返回。如果你不想这样做,你可以关闭它。