2012-04-30 198 views
1

我有一個cameraview,我正在用TableViewController推送另一個視圖。我可以使用導航欄控制器從主視圖中推入第二個視圖。但是從第二個視圖(即表格視圖)返回的按鈕沒有響應。我無法弄清楚爲什麼。UINavigation bar後退按鈕沒有響應

在此先感謝。

@WrightCS謝謝您的回覆。

在我的應用程序委託。

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]; 
} 
+0

將您用於視圖的代碼,您如何創建第二個視圖等。 – WrightsCS

+0

@WrightsCS感謝您的即時響應。 – ilaunchpad

+0

您的代碼中沒有任何內容表示後退按鈕不響應的原因。 – WrightsCS

回答

0

有幾個原因,您的後退按鈕可能無法正常工作:

  • 您使用自定義的UIButton和幀/界限是不正確的,你可以使用[yourButtonName sizeToFit] 大小正確。

  • 要添加按鈕編程,而不是增加一個點擊事件:

    [yourButtonName addTarget:自我行動:@選擇(yourButtonNameTapped :) forControlEvents:UIControlEventTouchUpInside]。

不要忘記你的活動。

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

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

如果您正在使用一個UINavigationController,當你用後面會自動顯示[self.navigationController pushViewController:viewControllerName]。

+0

首先感謝您花時間回覆我的問題。我正在使用UINavigationController,因此後退按鈕出現了。但是我發現了這個問題,它也被修復了。我閱讀了你的評論,並且我會記住它以備將來使用。它看起來非常豐富和有幫助。謝謝。 – ilaunchpad

+0

出於好奇,問題是什麼? –

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]; 
    } 

我認爲這會對您有所幫助。

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]; 
} 

它應該爲你工作!