2016-05-26 12 views
7

cellメールアプリケーションのようなスワイプアクションを作りたいと思います。UITableViewRowActionタイトルの代わりに画像がある

enter image description here

Iは、行アクションのbackgroundColorUIImageを設定。

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

しかし、私はバックグラウンドで横に並べてイメージを取得します。このような。 enter image description here

画像サイズに問題はありますか? 修正方法やそれ以外の方法を教えてもらえますか?

+0

cellForRowAtIndexPathにコードを投稿できますか? – ebby94

+0

あなたはimageView.contentMode = UIViewContentModeScaleAspectFitを作ろうとすることができますか? – user3300864

+0

ここで答えます-https://stackoverflow.com/questions/44771778/how-to-add-image-in-uitableviewrowaction/45301272#45301272 – Jack

答えて

12

はい、これはイメージサイズの問題です。 私は同じような要求を受けていて、同じ問題に直面していました。画像のサイズは、使用している場合は

UIViewContentModeScaleAspectFit 
UIViewContentModeScaleToFill 
UIViewContentModeScaleAspectFill 

と上のボタンのサイズ:あなたがにimageView.contentModeを設定しても

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

使用する。この場合、セルが一致しない場合、イメージはボタン全体を埋めるように伸びず、むしろイメージパターンはボタンの全領域が利用されるまで繰り返されます。 これは、実際の 'backgroundImage'ではなく 'backgroundColor'を設定しているためです。 'backgroundImage'と違って、 'backgroundColor'はボタンのUIContentModeに従いません。

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

+0

ありがとうございます!それは非常に明確で有用です! – Ctf

関連する問題