Tôi đã làm theo đề xuất của Luke Redpath tại đây - Selected UItableViewCell staying blue when selected - để bỏ chọn hàng khi quay lại chế độ xem bảng gốc, nhưng tôi không thể làm cho nó hoạt động. Trong thực tế, phương thức này không được kích hoạt.Bỏ chọn hàng xem bảng khi trở về
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
tôi nghi ngờ điều này là do các lớp không phải là một UITableViewController
, nhưng một UIViewController
với tableView
như một thuộc tính kết nối lên đến NIB.
Làm cách nào để nhận được cùng một hành vi - nghĩa là bỏ chọn khi quay lại?
Nó không quan trọng miễn là tableView được nối chính xác. Bạn có thể đặt nó trong 'didSelectRowAtIndexPath:' và nó hoạt động. Bạn cũng có thể muốn thực hiện kiểm tra NSLog nhanh chóng về những gì '[self.tableView indexPathForSelectedRow]' trả về vì nó thực sự có thể trở về không. – iwasrobbed
Tôi đã sử dụng điều này nhưng đã có một vấn đề mà thay đổi mọi thứ trong tế bào (nền vv) đã không được phản ánh ngay lập tức. Thêm reloadRowsAtIndexPaths: trong didDeselectRowAtIndexPath: đã làm thủ thuật – nh32rg