dismissViewControllerAnimated无法正常工作

时间:2013-08-07 18:25:47

标签: ios ios6

我在IOS6上使用Storyboard。我试图回到之前的viewcontroller,但它无法正常工作。

我在这里定制了我的后门。

UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
btnBack.frame = CGRectMake(0, 0, 45,35);
[btnBack setTitle:@"Back" forState:UIControlStateNormal];
[btnBack.titleLabel setFont: [UIFont fontWithName:@"Courier" size:15]];
btnBack.layer.cornerRadius=5.0;
btnBack.layer.borderWidth=2.0;
[btnBack setBackgroundColor:[UIColor colorFbBlue]];
btnBack.layer.borderColor=[UIColor colorFbBlue].CGColor;
[btnBack setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btnBack addTarget:self action:@selector(Click_On_Btn_Back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnBack];

-(void)Click_On_Btn_Back{
[self dismissViewControllerAnimated:YES completion:nil];

 }

这是我从前一个视图控制器推送segue的方式。

if([segue.identifier isEqualToString:@"segueFbShare"]){
    FbShareViewController *fbVC=[segue destinationViewController];
    fbVC.imageUrl=self.product.ImageUrl;

}

2 个答案:

答案 0 :(得分:19)

使用UINavigationController时,转到上一个UIViewController:

[self.navigationController popViewControllerAnimated:YES];

将这行代码放在Click_On_Btn_Back方法

答案 1 :(得分:4)

使用导航控制器和push时,您需要使用以下命令删除视图:

- (void)Click_On_Btn_Back {
    [self.navigationController popViewControllerAnimated:YES];
}

Click_On_Btn_Back也不是一般的iOS命名约定。您应该使用类似的内容:clickOnBtnBackCamelCase)。