2012-04-01 54 views
0

我在設置我的UITableViewController導航按鈕時遇到問題!這個控制器在UINavigationController裏面。UITableViewController導航項按鈕問題

我下面的視圖控制器:

@interface SettingsViewController : UITableViewController<UITextFieldDelegate, UINavigationControllerDelegate> { 

    } 
........... 

@end 

,並實現文件:

- (void)viewDidLoad 
    { 
      self.navigationItem.rightBarButtonItem = self.editButtonItem; 
    } 

我加入導航按鈕項目編程。

編輯:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 

    [super setEditing:editing animated:animated]; 
    //[self.navigationItem setHidesBackButton:editing animated:YES]; 

    if (!editing) 
    { 
    self.navigationItem.leftBarButtonItem = nil; 
     [self save]; 
    } 
    else 
    { 
     UIBarButtonItem *cancelButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(Cancel:)]; 
     self.navigationItem.leftBarButtonItem = cancelButtonItem; 
     cancelButtonItem = nil; 
    } 
} 

- 上面的編輯功能似乎設置導航按鈕

方面是工作的罰款取消:

- (IBAction)Cancel:(id)sender { 
    //cancel 
    self.navigationItem.rightBarButtonItem = self.editButtonItem; --> this is not setting edit button. 
    self.navigationItem.leftBarButtonItem = nil; 
} 

- 但點擊取消不用'Edit'替換navigationitem right-barbutton'Done',即使我在Cancel方法中這樣做,如上所示。

這段代碼怎麼了?

當我調試,我無法看到以下在調試區:

PO self.navigationItem

任何想法,爲什麼?

由於提前,

拉瑪

+0

是否'self.editButtonItem'有記憶?如果沒有,那就這樣做。 – tipycalFlow 2012-04-01 07:41:47

+0

感謝您的意見。不,我看不到記憶。但它執行後設置編輯按鈕:self.navigationItem.rightBarButtonItem = self.editButtonItem; – Krishna 2012-04-01 07:47:32

回答

1

簡單,設置editingNO

- (IBAction)Cancel:(id)sender { 
    //cancel 
    self.editing = NO; //--> This is the trick!!!!!! 
    self.navigationItem.rightBarButtonItem = self.editButtonItem; 
    self.navigationItem.leftBarButtonItem = nil; 
} 
+0

+ !,沒想到那! – tipycalFlow 2012-04-02 03:08:27