改变观点,iOS

时间:2014-01-28 08:26:10

标签: ios iphone objective-c uiviewcontroller

我被投入到这个大型iOS项目中,我正在试图找出如何创建一个能够将用户带到应用程序中的第一个视图的按钮,无论用户身在何处。

在我的脑海中,我应该能够做到这样的事情:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
[self.view removeFromSuperview];
[UIView commitAnimations];
[self release];

除非是因为我在UIViewController中创建了我的按钮,用于跟踪何时更改视图。原因是:

  1. 因为我需要每个页面上的按钮,它需要看起来相同,并且每页都有相同的功能。
  2. 我把它设为UIViewController而不是UIView所以我会有一个viewDidload方法来运行设置代码(背景颜色,文本颜色和其他东西),因为这个设置代码需要对于每一页都是一样的。
  3. 所以我目前的问题是,如果我在我的按钮的[self.view removeFromSuperview];上运行IBAction它会删除我的按钮,因为那是self.view

    如何删除按钮+按钮当前处于活动状态的视图?然后加载我已经加载的起始页面。

    更新:

    我有大约20-30个viewControllers。

    要创建按钮,我得到了一个带有.m .h和.xib的UIViewController。我得到了一个响应touchUpInside的IBAction,我运行的是我在帖子开头显示的代码。然后我使用viewDidLoad来设置backgroundColor和textColor。

    我把我的按钮放在这里(这是我通过按钮创建的每一页上的代码):

    页面.h得到了ActionBarWithLogoff * actionBar;

    页面.m:

    actionBar = [[ActionBarWithLogoff alloc] initWithNibName:@"ActionBarWithLogoff" bundle:nil];
    [topBar addSubview:actionBar.view];
    

    我正在调用[self.view removeFromSuperview];从我的按钮视图,这就是我不能按预期工作的原因。但我不知道我需要替换它。所以我可以从我的按钮视图控制器删除其他视图。

2 个答案:

答案 0 :(得分:0)

您可以创建自定义视图,并可以在ViewController视图中添加这些视图,然后您可以从View控制器添加/删除这些自定义视图。

答案 1 :(得分:0)

首先,不是在每个viewController中添加相同的按钮和相同的按钮操作,您可以拥有一个baseViewController,它具有基本功能(对所有viewControllers通用),如按钮和按钮操作。

要加载已经显示过的viewController,可以将其作为rootViewController添加到navigationController。所以在使用以下调用的任何流程点。

[self.navigationController popToRootViewControllerAnimated:YES];

相关问题