2014-03-29 17 views
-1

https://www.dropbox.com/s/duosl4d1fdsxehq/Storyboard.png如何在使用UINavigation進行保存後返回?

這是我的實際故事板。 我正在爲我的應用程序使用UINavigation Controller。當我按添加,我打開視圖添加一個新的開支到我的表。 事情是我不知道我應該做什麼,當我按下「保存」?我試圖把一個新的推繼續到前一個視圖,它的工作,但後按鈕項目建議我回到「添加新的費用」視圖,它不應該這樣做。 我怎樣才能重現動畫後退按鈕,但與我的保存按鈕?

回答

0

我知道那是很久以前的事,但你應該創建第二視圖的委託。

@protocol ExpenseProtocol; 

@interface NewExpenseViewController : UIViewController 
@property (nonatomic, weak) id<ExpenseProtocol> *delegate; 
@end 

@protocol ExpenseProtocol <NSObject> 
- (void)didCreateNewExpense:(Expense)newExpense; 
@end 

@implementation NewExpenseViewController 

- (void)savePressed:(id)sender { 
    if (self.delegate && [self.delegate responseToSelector:@selector(didCreateNewExpense:)]) { 
     [self.delegate didCreateNewExpense:_newExpense]; 
    } 
} 

@end 

然後在您的第一個視圖控制器

@interface ListExpenseViewController() <ExpenseProtocol> 
@end 

@implementation ListExpenseViewController  

- (void)didCreateNewExpense:(Expense)newExpense { 
    if (newExpense) { 
     [_arrayExpense addObject:newExpense]; 
    } 
    [self.tableView reloadData]; 
} 

@end 
0

在第二個視圖控制器上,在處理點擊保存按鈕的方法中,添加: [self.navigationController popViewControllerAnimated:YES];

+1

這是一個良好的開端感謝。 但我的tableview在第一個視圖控制器沒有更新。 – nonolays

+0

在第一個視圖控制器中,添加: - (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated]; [_tableView reloadData]; } –

相關問題