如何将 UIImageView.image 设置为 UIBarButtonItem
Posted
技术标签:
【中文标题】如何将 UIImageView.image 设置为 UIBarButtonItem【英文标题】:How to set UIImageView.image to UIBarButtonItem 【发布时间】:2011-08-16 08:10:32 【问题描述】:我想将 UIImageView.image 中的图像设置为我的栏按钮。当我设置图像时,条形按钮工作正常(例如@“cameraImageButton.png”),但是当我这样做时 myBarButton.image = UIImageView.image (并且这个 UIImage 存在,包含相同的@“cameraImageButton.png”)按钮不显示。
这是不起作用的代码:
UIBarButtonItem *cancelBarButton = [[ UIBarButtonItem alloc ] initWithTitle: @"Cancel" style: UIBarButtonItemStyleBordered target: self action: @selector(done)];
cancelBarButton.image = cancelImageView.image;
这是一个有效的(但我想从 cancelImageView 设置图像):
UIBarButtonItem *saveBarButton = [[ UIBarButtonItem alloc ] initWithTitle: @"Save" style: UIBarButtonItemStyleBordered target: self action: @selector(takePhoto)];
saveBarButton.image = [UIImage imageNamed:[NSString stringWithFormat:@"cameraImageButton.png"]];
//init for flexItem and cancelBarButton
NSArray *items = [NSArray arrayWithObjects: cancelBarButton, flexItem, saveBarButton, nil];
[cameraToolbar setItems:items animated:NO];
【问题讨论】:
看起来它应该可以工作 - 你确定 cancelImageView 已经设置了它的图像吗? 【参考方案1】:UIImageView.image
是属性而不是对象。在UIImageView 类和UIBarButtonItem
类中是@property(nonatomic, retain) UIImage *image
。只能传递 object 或 nil 来设置属性。
【讨论】:
您能进一步解释一下吗?肯定 cancelImageView.image 返回一个 UIImage 对象? 好吧,很多年过去了,但我需要澄清这一点。UIImageView.image
是 UIImageView
的属性,但显然它也是一个对象。以上是关于如何将 UIImageView.image 设置为 UIBarButtonItem的主要内容,如果未能解决你的问题,请参考以下文章