加载视图ObjC单视图控制器

时间:2015-11-27 03:36:48

标签: ios objective-c memory methods view

我编写应用程序的方式是通过ViewController.m文件中的方法加载我的视图。&#39>的实现。加载视图后,我的应用程序通过菜单显示并按按钮操作显示,并更新了我将self.view设置为我的方法生成的不同显示。这个问题是我的内存消耗。每按一次按钮,我的方法显示下一个"视图"成为一个孩子,等等。这会像疯了一样扼杀记忆,我不想重新编码所有内容(我没有使用仅使用编码的故事板)。我尝试在无限循环中创建一个方法来切换视图,但它不会更新self.view。我需要一种仅使用代码切换视图的方法(用storyboard显示我的视图是不可能的,太复杂而无法对齐)。

示例代码:

#import "ViewController.h"
@interface ViewController ()

@end

@implementation ViewController
...global vars...
-(void)viewDidLoad {
    [super viewDidLoad];
    ...setup...
    [self Load_Main_Menu];
}
-(void)Load_Main_Menu {

    ...setup UIView display...
    UIButton *Button = [UIButton buttonWithType:UIButtonTypeCustom];
    [Button addTarget:self action:@selector(PlayButtonPressed:)     forControlEvents:UIControlEventTouchUpInside];
    self.view=display;
}
-(void)PlayBt:(UIButton*)sender{
    [self load_Other_Menus];
}

所有导航和UI均按此处理。 有关改进内​​存管理和导航的任何想法吗?

1 个答案:

答案 0 :(得分:0)

试试这个

-(void)viewDidLoad {
    [super viewDidLoad];
    ...setup...
    [self setupButton];
    [self displayView];
}

-(void)setupButton {
    UIButton *Button = [UIButton buttonWithType:UIButtonTypeCustom];
    [Button addTarget:self action:@selector(displayView)     forControlEvents:UIControlEventTouchUpInside];
    ..add button to view
}

-(void)displayView {

    ...setup UIView display...

    self.view=display;
}