7

cellメールアプリのようなスワイプアクションを作りたいです。

行アクションに設定UIImageします。backgroundColor

 action.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"remove"]];

しかし、背景に画像が並んで繰り返されます。このような。

画像サイズの問題?それを修正する方法、またはそれを行う別の方法を教えてください。

4

1 に答える 1

13

はい、これは画像サイズの問題です。私も同様の要件があり、同じ問題に直面しました。この場合、使用すると、

action.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"remove"]];

imageView.contentMode を次のように設定した場合でも:

UIViewContentModeScaleAspectFit
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFill

使用している画像のサイズとセルのボタンのサイズが一致しない場合、画像はボタン全体を埋めるために引き伸ばされず、ボタンの領域全体が表示されるまで画像パターンが繰り返されます。利用されます。これは、実際の「backgroundImage」ではなく「backgroundColor」を設定しているためです。「backgroundImage」とは異なり、「backgroundColor」はボタンの UIContentMode に準拠しません。

したがって、ボタンのサイズとまったく同じサイズの画像を作成する必要があります。セルに動的な高さ (コンテンツに応じて実行時に決定される高さ) がある場合、これを行うことはできません。

于 2016-05-26T06:08:24.050 に答える