我的FlipsideViewController的「完成」按鈕不起作用(沒有崩潰,但也沒有關閉視圖)。下面的代碼:FlipsideViewController不關閉
在FlipSideViewController.h
@class FlipsideViewController;
@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end
@interface FlipsideViewController : UIViewController
@property (weak, nonatomic) id <FlipsideViewControllerDelegate> delegate;
- (IBAction)done:(id)sender;
@end
在FlipSideViewController.m
- (IBAction)done:(id)sender
{
// an NSLog statement that is here is logging properly
[self.delegate flipsideViewControllerDidFinish:self];
}
在MainViewController.h
@interface FifthViewController : UIViewController <FlipsideViewControllerDelegate>
...
在MainViewController.m
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showAlternate"]) {
[[segue destinationViewController] setDelegate:self];
}
}
順便說一下,這是一個選項卡式應用程序,所以我認爲這可能與它有關。任何建議,將不勝感激。謝謝。
把nslog放在'done:'中,是否打印? –
是 - 正在打印 – eulr
您是否將MainViewController設置爲FlipsideViewController的委託?嘗試在flipsideViewControllerDidFinish:方法中放入日誌,並查看它是否打印。 – rdelmar