UINavigationbar后退按钮没有响应

时间:2012-04-30 02:52:29

标签: ios uitableview uinavigationbar

我有一个cameraview,我正在使用TableViewController推送另一个视图。我可以使用导航栏控制器从主视图中推送第二个视图。但是第二个视图(表视图)的后退按钮没有响应。我无法弄清楚为什么。

提前致谢。

@WrightCS感谢您立即回复。

在我的app delegate中。

ViewController *vc= [[ViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc]    initWithRootViewController:vc];
[self.window setRootViewController :navController];
[self.window makeKeyAndVisible];
return YES;

现在我正在使用临时按钮来推动视图。

-(IBAction)testButtonPressed {
    TableView *tableVC = [[TableView alloc] initWithStyle:UITableViewStylePlain];
    [self.navigationController pushViewController:tableVC animated:YES];
}

3 个答案:

答案 0 :(得分:0)

您的后退按钮可能无法使用的原因有几个:

  • 您正在使用自定义UIButton并且框架/边界不正确您可以使用[yourButtonName sizeToFit] 正确调整大小。

  • 您正在以编程方式添加按钮,而不是添加点击事件:

    [yourButtonName addTarget:self action:@selector(yourButtonNameTapped :) forControlEvents:UIControlEventTouchUpInside];

不要忘记你的活动。

...
-(void)yourButtonNamedTapped:(id)sender
{
...
}

docs:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html

如果您使用的是UINavigationController,当您使用[self.navigationController pushViewController:viewControllerName]时,将自动显示;

答案 1 :(得分:0)

  -(IBAction)testButtonPressed {
        TableView *tableVC = [[TableView alloc] initWithStyle:UITableViewStylePlain];

        UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
        self.navigationItem.backBarButtonItem = backBarButtonItem;
        [backBarButtonItem release];

        [self.navigationController pushViewController:tableVC animated:YES];
    }

我认为这会对你有所帮助。

答案 2 :(得分:0)

- (void)viewDidLoad
{      
    UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self  action:@selector(backButtonDidClicked:)];
    self.navigationItem.backBarButtonItem = backBarButtonItem;
    [backBarButtonItem release];
}

-(void)backButtonDidClicked :(id)sender
{  
    [self.navigationController popViewControllerAnimated:YES];
}

它应该适合你!!