PO(NSStringFromSelector(self.editSettings.action));
[self.editSettings setCustomView:imageView]; //works if this is commented out but with bad image
PO(NSStringFromSelector(self.editSettings.action));
该代码后产生的UIBarButtonItem不再响应改变customView
2013-01-17 11:47:41.184 BadgerNew[29570:c07] NSStringFromSelector(self.editSettings.action): Setting:
2013-01-17 11:47:41.185 BadgerNew[29570:c07] NSStringFromSelector(self.editSettings.action): Setting:
所以选择仍然是相同的。
但是,在[self.editSettings setCustomView:imageView]之后;该按钮不能再被按下。按下它没有任何影响。
我想也许customView“吸收”用户交互。
但是,我不能设置imageView.userInteractionEnabled
。没有这样的选择器。
我错过了什么?
这似乎不是问题所在。我添加了更多控制台打印。这表明ImageView的userInteractionEnabled已经false作为默认
UIImage * imageSetting= [UIImage imageNamed:@"setting-button"];
UIImageView * imageView = [[UIImageView alloc]initWithImage:imageSetting];
PO(NSStringFromSelector(self.editSettings.action));//Bar Button Item
self.editSettings.customView =imageView;
PO(NSStringFromSelector(self.editSettings.action));
PO(@(imageView.userInteractionEnabled));
PO(self.editSettings.customView);
PO(imageView);
imageView.userInteractionEnabled=false;
然后我试图完全没有一个界面生成器(IB)的解决方案,并做:
UIImage * imageSetting= [UIImage imageNamed:@"setting-button"];
UIImageView * imageView = [[UIImageView alloc]initWithImage:imageSetting];
self.editSettings = [[UIBarButtonItem alloc]initWithCustomView:imageView];
self.editSettings.action = @selector(Setting:);
self.navigationItem.leftBarButtonItem = self.editSettings;
还不行。
有人说customView需要是按钮而不是图像。好吧,我想知道。
什么是editSettings?它是哪种类型的控制? – viral
另外,'imageView'是UIView的后代吗?如果是这样,它**肯定有'userInteractionEnabled'属性。 – 2013-01-17 04:58:39
imageView是一个UIImageView –