【发布时间】:2016-02-03 16:08:44
【问题描述】:
我正在尝试在我的UISplitViewController 中为我的displayModeButtonItem 使用图像。我得到的项目看起来像我想要的,但在 iPhone 上点击时它没有做任何事情。使用 iPad 时效果很好。
UIBarButtonItem *menuItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"list_button"]
style:UIBarButtonItemStylePlain
target:self.splitViewController.displayModeButtonItem.target
action:self.splitViewController.displayModeButtonItem.action];
self.navigationItem.leftBarButtonItem = menuItem;
我已添加检查以确保 displayModeButtonItem 不是 nil 并且确实不是 nil。
if (self.splitViewController.displayModeButtonItem == nil) {
NSLog(@"displayModeButtonItem is nil");
} else {
NSLog(@"displayModeButtonItem is NOT nil");
}
【问题讨论】:
-
您是否尝试为此分配另一个
selector和target?并记录它是否有效? -
我做到了,它有效。
-
self.splitViewController.displayModeButtonItem在 iPhone 上创建按钮时可能是nil -
@dan,看看我的更新。
-
当你覆盖按钮
self.navigationItem.leftBarButtonItem = menuItem;时,动作/目标可能不会被保留并且为零,老实说我不知道 :)
标签: ios objective-c uisplitviewcontroller displaymode