Tôi có chế độ xem phụ kiện tùy chỉnh (UIButton) trên ô mẫu thử nghiệm của tôi trong bảng phân cảnh. Khi tôi nhấp vào nút đó, phương thức ủy nhiệm cho nút phụ kiện được nhấn không được gọi. Nếu tôi sử dụng một nút tiết lộ tiêu chuẩn, nó được gọi là tốt. Tôi giả sử tôi đang thiếu một cái móc ở đâu đó. Có ai biết ở đâu không?Xem phụ kiện tùy chỉnh trên UITableView Mẫu thử nghiệm không kích hoạt
Trả lời
Tôi đã kết thúc bằng cách sử dụng giao thức cho các ô bảng tùy chỉnh.
CustomAccessoryTableCellDelegate.h
@protocol CustomAccessoryTableCellDelegate <NSObject>
@required
- (void) accessoryButtonTappedForCell: (UITableViewCell *) cell;
@end
CustomAccessoryViewTableCell.h
@interface CustomAccessoryViewTableCell : UITableViewCell
/** The custom accessory delegate. */
@property (nonatomic, weak) id<CustomAccessoryTableCellDelegate> delegate;
@end
CustomAccessoryViewTableCell.m
- (IBAction) buttonAction:(id)sender{
if ([self.delegate respondsToSelector:@selector(accessoryButtonTappedForCell:)]) {
[self.delegate accessoryButtonTappedForCell:self];
}
}
Bên Xem Bảng điều khiển
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath{
CustomAccessoryViewTableCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"MyCustomCell"];
cell.label.text = @"Some Name";
cell.delegate = self;
return cell;
}
#pragma mark - Custom Accessory View Delegate
- (void) accessoryButtonTappedForCell:(UITableViewCell *)cell{
[self tableView:self.writerTable
accessoryButtonTappedForRowWithIndexPath: [self.writerTable
indexPathForCell:cell]];
}
Guess 1: Bạn không thực sự có một "giao diện tùy chỉnh phụ kiện" bạn có một UIButton
được đặt nơi một phụ kiện sẽ đi. Điều này sẽ không kích hoạt nút phụ kiện được ủy thác bởi vì nó không thực sự là một phụ kiện.
Guess 2: Bạn làm có một cái nhìn phụ kiện có thật, nhưng nó không bao giờ nhận được "vòi" sự kiện bởi vì bạn có một UIButton
trong nó được ăn tương tác người dùng nhưng không phải bắn một hành động. Trong trường hợp đó, hãy thử thêm một đơn giản UIView
để thay thế.
Ngoài ra, tôi cần thêm thông tin.
Tôi đã thử sử dụng chế độ xem hình ảnh thay vì không tạo ra bất kỳ sự khác biệt nào. Nút được nối với thuộc tính accessoryView của UITableViewCell. Có cách nào để lập trình gọi điều này từ một lớp con UITableViewCell không? – smokingoyster
Trong 'cellForRowAtIndexPath' của bạn, sau khi bạn nhận được ô, hãy kiểm tra xem thuộc tính' accessoryView' của bạn có tham chiếu đến chế độ xem của bạn hay không nếu nó là 'nil'. Nếu nó được thiết lập chính xác trong IB, nó sẽ tồn tại. – DBD
Tôi hiển thị nút/chế độ xem/bất kỳ thứ gì tôi có ở đó. Có vẻ như nó chỉ xử lý sự kiện nhấn trên các loại chế độ xem phụ kiện được xác định riêng của nó. Và dường như không có cách nào tốt để làm điều đó một cách lập trình từ tế bào bảng. Tôi đã kết thúc bằng cách sử dụng một giao thức tùy chỉnh, mà tôi sẽ đưa vào một câu trả lời. – smokingoyster
docs táo đối với phương pháp đại biểu phụ kiện nói
Các đại biểu thường đáp ứng với vòi nước vào nút tiết lộ (quan điểm phụ kiện) bằng cách hiển thị một cái nhìn mới liên quan đến hàng đã chọn. Phương thức này không được gọi khi một khung nhìn phụ kiện được thiết lập cho hàng tại indexPath.
để không được gọi cho chế độ xem phụ kiện tùy chỉnh. nó là một hành vi tiêu chuẩn.
- 1. Lỗi kích hoạt sự kiện tùy chỉnh kích hoạt JQuery
- 2. Phụ kiện tùy chỉnh UITableViewCell - nhận hàng phụ kiện
- 3. Tùy chỉnh biểu mẫu Django với phụ kiện RadioSelect
- 4. Cách kích hoạt sự kiện tùy chỉnh bằng Meteor js
- 5. cào: thử nghiệm không chạy thử nghiệm tùy chỉnh trong thư mục con
- 6. Sự kiện tùy chỉnh kích hoạt jQuery đồng bộ?
- 7. Tùy chỉnh thử/bắt mẫu mã dựa trên ngoại lệ
- 8. Trình kích hoạt jQuery không kích hoạt với bind() hoặc on() cho các sự kiện tùy chỉnh
- 9. Không thể xác định các ô mẫu thử nghiệm trong UITableView
- 10. UITableView Chỉnh sửa/Xong sự kiện
- 11. Sự kiện Chế độ xem xương sống không kích hoạt
- 12. Trình xác thực tùy chỉnh không kích hoạt
- 13. Tắt sự kiện thay đổi kích thước trên sự kiện lịch tùy chỉnh, có thể không?
- 14. iPhone UITableView - hành động trên phụ kiện nhấp
- 15. Ví dụ QtScript với lớp tùy chỉnh ném lỗi liên quan đến mẫu thử nghiệm
- 16. Sự kiện Application.Error toàn cầu không được kích hoạt nếu lỗi tùy chỉnh được bật?
- 17. Sự kiện Onclick không kích hoạt trên jsfiddle.net
- 18. Kích hoạt sự kiện jQuery tùy chỉnh mà không bị bong bóng
- 19. Ràng buộc Trình kích hoạt kiểu WPF vào thuộc tính phụ thuộc tùy chỉnh
- 20. Mở rộng mẫu thử nghiệm
- 21. Dữ liệu sự kiện tùy chỉnh jQuery (đăng ký và kích hoạt)
- 22. UITableView đẩy segue kích hoạt nhiều lần
- 23. Cách lấy đường dẫn chỉ mục của ô trong UITableView trong khi nhấp vào nút Phụ kiện tùy chỉnh?
- 24. DevExpress XtraGrid RepositoryItemButtonSự kiện chỉnh sửa không kích hoạt
- 25. Loại phụ kiện UITableview biến mất khi di chuyển
- 26. Ca cao: Sự kiện không hoạt động trên NSView không kích hoạt
- 27. Sự kiện nhấp chuột đường trục không kích hoạt trên chế độ xem động
- 28. OnClickListener không được kích hoạt cho Chế độ xem tùy chỉnh
- 29. backbone.js sự kiện xem đơn giản không kích hoạt
- 30. Elmah không kích hoạt khi lỗi tùy chỉnh được bật
Tôi đang sử dụng lớp con UITableViewCell và thiết kế ô trong trình tạo giao diện. Tôi không làm điều đó từ bộ điều khiển xem bảng. Tôi cần phải gọi ra từ phân lớp đó. – smokingoyster