【问题标题】:How to set UIImageView.image to UIBarButtonItem如何将 UIImageView.image 设置为 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 已经设置了它的图像吗?

标签: objective-c ios cocoa-touch uiimageview uitoolbar


【解决方案1】:

UIImageView.image 是属性而不是对象。在UIImageView 类和UIBarButtonItem 类中是@property(nonatomic, retain) UIImage *image。只能传递 object 或 nil 来设置属性。

【讨论】:

  • 您能进一步解释一下吗?肯定 cancelImageView.image 返回一个 UIImage 对象?
  • 好吧,很多年过去了,但我需要澄清这一点。 UIImageView.imageUIImageView 的属性,但显然它也是一个对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
相关资源
最近更新 更多