繁体   English   中英

iOS UIButton 图像 contentMode 在 TouchUpInside 上闪烁

[英]iOS UIButton image contentMode flickering on TouchUpInside

如果我将其 imageView contentMode 设置为UIViewContentModeScaleAspectFill ,则 UIButton 图像有问题。

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

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

谢谢!

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

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

[imageButton setImage:buttonHightlightImage forState:UIControlStateHightlighted]

只需在imageButton attributes inspector禁用/取消选中highlighted adjusts image

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM