2016-05-26 17 views
7

Tôi muốn thực hiện hành động vuốt cell như ứng dụng thư.UITableViewRowAction với hình ảnh thay vì tiêu đề

enter image description here

tôi đặt UIImage-backgroundColor hành động liên tiếp.

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

Nhưng tôi làm cho hình ảnh của tôi được lặp lại song song trên nền. như thế này. enter image description here

Vấn đề về kích thước hình ảnh có phải không? Có thể cho tôi biết cách khắc phục hoặc cách khác để làm điều đó?

+0

Bạn có thể đăng mã tại cellForRowAtIndexPath không? – ebby94

+0

bạn có thể thử làm imageView.contentMode = UIViewContentModeScaleAspectFit; – user3300864

+0

Đã trả lời ở đây -https: //stackoverflow.com/questions/44771778/how-to-add-image-in-uitableviewrowaction/45301272#45301272 – Jack

Trả lời

12

Có, đây là vấn đề về kích thước hình ảnh. Thậm chí tôi đã có một yêu cầu tương tự và phải đối mặt với cùng một vấn đề. Trong trường hợp này khi bạn sử dụng,

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

Thậm chí nếu bạn thiết lập các imageView.contentMode tới:

UIViewContentModeScaleAspectFit 
UIViewContentModeScaleToFill 
UIViewContentModeScaleAspectFill 

Nếu kích thước của hình ảnh bạn đang sử dụng và và kích thước của các nút trên ô không khớp, hình ảnh sẽ không kéo dài để lấp đầy toàn bộ nút, thay vì hình ảnh sẽ chỉ lặp lại cho đến khi toàn bộ khu vực của nút được sử dụng. Điều này là do bạn đang đặt 'backgroundColor' chứ không phải 'backgroundImage' thực tế. 'backgroundColor' không giống như 'backgroundImage' không tuân thủ UIContentMode của nút.

Do đó, những gì bạn sẽ phải làm là tạo một hình ảnh chính xác bằng kích thước của nút. Làm điều này là không thể nếu ô của bạn có chiều cao động (chiều cao được xác định khi chạy theo nội dung của bạn).

+0

thanks !! nó rất rõ ràng và hữu ích !! – Ctf

Các vấn đề liên quan