【问题标题】:Issue on setting a UIImage to a custom UIButton将 UIImage 设置为自定义 UIButton 的问题
【发布时间】:2012-08-03 12:47:46
【问题描述】:
我有一个UIViewController,它有两个属性:UIImageView 和UiButton。它们都在IBOutlets 上正确连接到Interface Builder。我的问题是,当我实例化这个视图并设置两个属性时,只设置了UIImageView。我的UIButton 是一个custom 按钮,我正在尝试为其分配一个UIImage。这是我的代码:
MyViewController *viewController = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
[viewController view];
viewController.myImageView.image = [UIImage imageNamed:@"image1.png"];
viewController.myButton.imageView.image = [UIImage imageNamed:@"image2.png"];
知道我做错了什么吗?
【问题讨论】:
标签:
ios
uiimageview
uibutton
【解决方案1】:
这不是你为按钮设置图像的方式,你应该使用
[viewController.myButton setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];
【解决方案2】:
您似乎需要使用特定方法来设置 UIButton 的图像,而不是访问属性的设置器。那个方法是:
[viewController.myButton setImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];
//Or some other variant of UIControlState such as UIControlStateSelected, UIControlStateDisabled, UIControlStateHighlighted, etc.
【解决方案3】:
替换
viewController.myButton.imageView.image = [UIImage imageNamed:@"image2.png"];
与
[viewController.myButton setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];
应该有效