presentViewController不能用于动画:NO

时间:2013-02-04 15:27:41

标签: ios objective-c cocoa-touch cocoa ios6

我在ios 4.3中使用[self presentModalViewController:head animated:NO];并寻找ios 5及更高版本的替代品。我更喜欢为所有iOS版本使用通用的东西,但if (iOS is lower than 6)也可以很棒。 我的问题是,如果将[self presentViewController:head animated:YES completion:nil];设置为animated,则使用YES作为替代方案只能 。知道为什么吗?我不希望它有动画。如果我使用StoryBoards,还有什么我可以使用的吗?

1 个答案:

答案 0 :(得分:1)

应用程序是否完全失败?你有NSZombies吗?

如果您正在做这样的事情

- (id)init {
    self = [super init]

    if (self) {
       ViewController * viewController = [[ViewController alloc] init];
       [self presentViewController:viewController animated:YES];
    }

    return self;
}

这是因为视图尚未启动,请使用以下方法之一

- (void)viewDidAppear:(BOOL)animated {
   [super viewDidAppear:animated];

   ViewController * viewController = [[ViewController alloc] init];
   [self presentViewController:viewController animated:YES];

}

// OR

- (void)viewDidLoad {
   [super viewDidLoad];

   ViewController * viewController = [[ViewController alloc] init];
   [self presentViewController:viewController animated:YES];

}

我知道这可能不会回答你的问题,但你没有发布它所在的发起人。但这是一个常见错误,所以我想发布它会解决你的问题。