0

我正在尝试使用 a 的图像视图的背景视图,UIButton但由于某种原因它不会显示。这是我尝试过的:

detailCell.greenPriorityButton.imageView.frame = detailCell.greenPriorityButton.frame;
[detailCell.greenPriorityButton.imageView setBackgroundColor:[UIColor greenColor]];
[detailCell.greenPriorityButton.imageView setHidden:NO];
[detailCell.greenPriorityButton.imageView setOpaque:YES];

我已经拜访NSLog了该imageView物业,看来一切都应该如此。我也可以点击按钮,然后调用与之关联的方法,所以我知道它存在。以防万一我在这里遗漏了什么是NSLog回报:

<UIImageView: 0x1d97e1b0; frame = (254 61; 20 20); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x1d97e210>>

我不使用点符号来设置上面的图像视图属性的原因是因为它们似乎没有改变值。例如,如果我说它detailCell.greenPriorityButton.imageView.hidden = NO;似乎没有做任何事情。

谢谢你的帮助!

编辑

不只是设置按钮的背景颜色而不是其图像视图的原因是因为我试图在按钮中创建一个小形状。但是我希望可点击的空间在形状周围有边距,所以它仍然是用户友好的。我认为图像视图属性会很有用,因为我可以将框架和图层与按钮的框架和图层分开操作。

我现在尝试将 aUIView *greenBackground作为子视图添加到按钮,但这也没有出现。

4

1 回答 1

1

如果您想要一个可以在按钮视图中拥有的视图以设置其颜色,那么我认为尝试使用 imageview 是错误的方法。您可以只添加一个具有更改背景颜色的子视图。像这样的东西:

UIView *colorView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 10, 10)];//Whatever rect you want that will be in reference to the frame of the button
colorView.backgroundColor = [UIColor greenColor];
[detailCell.greenPriorityButton addSubview:colorView];
于 2013-01-14T22:35:01.547 回答