0

imageView contentMode を に設定すると、UIButton イメージに問題が発生します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 inspectorですimageButton

于 2021-01-05T12:11:14.700 に答える