2014-09-27 17 views
8

Tôi vừa mới xem qua API mới này trên iOS8. Tuy nhiên, tôi không thể tìm thấy giải pháp nào nếu có thể sử dụng hình ảnh thay vì văn bản và cho phép vuốt sang trái và phải? Điều này thậm chí có thể? Việc triển khai duy nhất tôi đã tìm thấy là:iOS 8 UITableViewRowAction: Vuốt sang trái, ảnh?

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewRowAction *moreAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Button1" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     // maybe show an action sheet with more options 
     [self.tableView setEditing:NO]; 
    }]; 
    moreAction.backgroundColor = [UIColor blueColor]; 

    UITableViewRowAction *moreAction2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Button2" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     [self.tableView setEditing:NO]; 
    }]; 
    moreAction2.backgroundColor = [UIColor blueColor]; 

    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 
    }]; 

    return @[deleteAction, moreAction, moreAction2]; 
} 

Trả lời

13

Không, tôi không nghĩ rằng có thể vuốt sang phải (với UITableViewCell). Tuy nhiên, bạn có thể sử dụng một hình ảnh cho nút bằng cách thiết lập màu nền của nó bằng cách sử dụng colorWithPatternImage :. Chiều rộng của nút có vẻ được xác định bởi độ dài của tiêu đề, vì vậy nếu bạn muốn thay đổi chiều rộng (và không có bất kỳ tiêu đề hiển thị nào), hãy sử dụng tiêu đề bao gồm nhiều khoảng trống tùy theo nhu cầu của bạn.

+0

Cảm ơn bạn sir :-) – MichiZH

+1

đây là một mẹo tuyệt vời, nhưng khi tôi thử nó, tôi nhận được một hình ảnh lát gạch. tôi có thể tạo hình ảnh cho kích thước của hàng, nhưng các ô của tôi có chiều cao thay đổi. nếu đó là trường hợp, có cách nào xung quanh nó hoặc tôi chỉ nên sử dụng một thư viện của bên thứ ba? – skinsfan00atg

+1

Đối với những hình ảnh, tôi đặt cùng một CocoaPod mà sẽ cố gắng giải quyết điều này một cách tao nhã nhất có thể trong thời gian hiện tại: https://github.com/benguild/BGTableViewRowActionWithImage –

5

trong Swift nó sẽ là:

deleteAction.backgroundColor = UIColor(patternImage: UIImage(named:"sample")!) 
+1

Tôi cần đặt kích thước nào cho hình ảnh? –

+10

Điều này thật tệ. Nó làm cho hình ảnh lặp lại chính nó trên nền. Nó sẽ là tốt để nói với mọi người những gì nó làm. – CarmenA

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