用另一个视图中的结果推送不同视图上的视图

时间:2012-02-09 17:07:14

标签: iphone

我正在创建一个简单的程序,其中有一个主视图,它具有分段控件和徽标以及一些空白区域。当用户单击分段控件的一部分时,会在分段控件下方显示一个视图,该视图有6个按钮,可将用户引导至不同的视图。

我希望用户单击按钮后出现的视图不应出现在按钮所在的视图上(如果我使用“addSubView”选项,它将会出现)。相反,我希望视图出现在整个屏幕上,这意味着我希望结果视图(在单击按钮后)出现在主视图上。

先谢谢。

5 个答案:

答案 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。