已为表视图控制器分配了一个继承自UITableViewController的自定义类(在身份检查器中):
@interface TableClass : UITableViewController
我想要实现的是从UINavigationBarDelegate获取事件,特别是此事件:
- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item;
显然继承协议不会起作用,因为TableClass继承自UITableViewController和不是 UINavigationController。
如何从UINavigationBarDelegate获取事件?
谢谢。
编辑 - 不同的解决方案:
自"返回"按钮是由框架自动创建的我决定自己创建按钮:
- (void)viewDidLoad {
[super viewDidLoad];
if ([[[someClass instance] stack] count] > 0) {
NSString *titleBackName = [NSString stringWithFormat:@"%@", [[someClass instance] peakFromStack]];
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle:titleBackName style:UIBarButtonItemStyleBordered target:self action:@selector(back:)];
self.navigationItem.leftBarButtonItem=newBackButton;
}
}
这意味着我在导航栏中指定了一个新的后退按钮,当用户点击它时,它将执行此方法:
-(void)back:(UIBarButtonItem *)sender {
[self.navigationController popViewControllerAnimated:YES];
}
这基本上意味着我现在通过我自己实现pop和添加到导航视图控制器的堆栈
仍在寻找代表解决方案..