2016-05-26 2 views
7

Я хотел бы сделать так, что вы делаете wipe action, как почтовое приложение, cell.UITableViewRowAction с изображением вместо заголовка

enter image description here

Я установил UIImage к backgroundColor действий ряда.

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

Да, это проблема с размером изображения. Даже у меня было подобное требование и я столкнулся с той же проблемой. В этом случае, когда вы используете,

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

Даже если вы установите imageView.contentMode на:

UIViewContentModeScaleAspectFit 
UIViewContentModeScaleToFill 
UIViewContentModeScaleAspectFill 

Если размер изображения, которое вы используете, и и размера кнопки на ячейка не совпадает, изображение не будет растягиваться, чтобы заполнить всю кнопку, вместо того, чтобы шаблон изображения просто повторялся до тех пор, пока не будет использована вся область кнопки. Это потому, что вы устанавливаете «backgroundColor», а не фактический «backgroundImage». «backgroundColor» в отличие от «backgroundImage» не соответствует UIContentMode кнопки.

Следовательно, вам нужно будет создать изображение, которое в точности равно размеру кнопки. Выполнение этого невозможно, если ваша ячейка имеет динамическую высоту (высота определяется во время выполнения в соответствии с вашим контентом).

+0

спасибо !! это очень понятно и полезно! – Ctf

Смежные вопросы