0

如果我将 UIButton 图像的 imageView contentMode 设置为UIViewContentModeScaleAspectFill.

UIButton *imageButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
imageButton.imageView.contentMode = UIViewContentModeScaleAspectFill;
[imageButton setImage:[UIImage imageNamed:@"myImage.jpg"] forState:UIControlStateNormal];
[imageButton addTarget:self action:@selector(doSmth:) forControlEvents:UIControlEventTouchUpInside];

按钮内的图像已正确缩放以填充整个按钮区域。

单击/触摸按钮后,图像会调整大小(闪烁),就像它的 contentMode 设置为UIViewContentModeScaleAspectFit.

有谁知道点击/触摸发生时如何消除这种闪烁?

谢谢!

4

2 回答 2

1

为什么要设置按钮的 imageView 的内容模式?您为指定状态设置的图像始终填充按钮的大小。所以你必须将按钮的框架大小设置为图像的大小,而不是设置imageView contentMode

闪烁可能是按钮的突出显示。如果要设置自定义图像以突出显示,请使用以下代码:

[imageButton setImage:buttonHightlightImage forState:UIControlStateHightlighted]
于 2012-03-22T09:28:52.590 回答
0

只需禁用/取消highlighted adjusts image选中attributes inspectorimageButton

于 2021-01-05T12:11:14.700 回答