Tôi đã tạo một UITableView
và muốn có một số UITableViewCell
cụ thể để xuất hiện được chọn (màu lam) khi chế độ xem được tải.Làm cách nào để chọn UITableViewCell theo mặc định?
Trả lời
Sử dụng phương pháp UITableViewCell
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
Thông tin here.
Có lẽ phương pháp sau đây phù hợp hơn? http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITableViewCell_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableViewCell/setHighlighted:animated: –
phương pháp nào? liên kết doesnt đi đến bất kỳ phương pháp cụ thể – Daniel
O nếu ound nó, mà một trong những điểm nổi bật và không chọn nó, tôi đoán nếu thats tất cả các asker muốn sau đó chắc chắn thats phù hợp hơn – Daniel
Hãy thận trọng khi sử dụng phương pháp này, vì chọn hàng theo cách này là một cái gì đó Apple suggests against làm để hiển thị trạng thái "đã chọn".
Thay vào đó, hãy xem xét đặt thuộc tính accessoryType
của ô thành một cái gì đó như UITableViewCellAccessoryCheckmark
.
Tôi đang cố gắng để tái sử dụng giao diện người dùng Apple khi bạn thêm/chỉnh sửa sự kiện trong ứng dụng Lịch và đặt ngày/giờ bắt đầu và kết thúc. Tôi đã thấy các nhận xét về quy tắc đánh dấu ở nơi khác, nhưng không rõ liệu nó có áp dụng trong trường hợp này hay không (bảng được sử dụng để bố trí các thành phần thay vì trình bày danh sách dữ liệu). – user119857
Đó là một điểm thú vị.Trong trường hợp này, họ không cần phải có một subview cho mỗi Bắt đầu và Kết thúc kể từ khi cả hai đều đại diện cho cùng một loại dữ liệu, sửa đổi bởi cùng một loại UIPickerView. Vì vậy, đó sẽ đại diện cho một sử dụng khôn ngoan. Họ có khả năng sử dụng selectRowAtIndexPath của UITableView: hoạt hình: scrollPosition: phương pháp ... xem http://tinyurl.com/yd9zs65 –
Chắc chắn xem hết. Tôi chắc rằng bạn có lý do chính đáng, nhưng hãy xem kỹ tài liệu Hướng dẫn Giao diện Con người mà Apple cung cấp. Ứng dụng bị từ chối vì không bỏ chọn các hàng trong bảng. Tôi khuyến khích bạn tìm phần thích hợp của HIG và xem Apple cung cấp bất kỳ đề xuất nào.
-(void)viewWillAppear:(BOOL)animated {
// assuming you had the table view wired to IBOutlet myTableView
// and that you wanted to select the first item in the first section
[myTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:UITableViewScrollPositionTop];
}
Tôi đang sử dụng kỹ thuật này để chọn một trong hai UITableViewCells
để người dùng biết mà tế bào một UIDatePicker
bên dưới bảng xem nó sẽ có hiệu lực. Kỹ thuật này được Apple sử dụng trong ứng dụng lịch khi bạn tạo sự kiện mới và đặt ngày.
1. điều này không làm việc cho tôi. 2. Apple nói bạn nên sử dụng dấu kiểm để chỉ trạng thái lựa chọn của một mục. –
Bạn nên đặt nó trong viewWillAppear
.
[myTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:0];
Nếu bạn cố gắng chọn nó trong cellForRowAtIndexPath:
, khi đó, nó sẽ không theo kiểu được yêu cầu.
Đôi khi, khi bạn không ở trong một UIViewController
, bạn không có viewWillAppear
và đôi khi, bạn đã tạo UITableView
theo chương trình.
Các giải pháp dễ dàng là để thực hiện phương pháp này delegate
:
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.selectedIndex == indexPath.row) {
cell.selected = YES;
}
}
Nó không hoạt động trong cellForRowAtIndexPath
vì các tế bào vẫn chưa được hiển thị. và phương thức setSelected
được gọi ngay khi phương thức này được hiển thị.
Sử dụng mã này để chọn tế bào theo mặc định trong xem bảng, indexPath
có thể thay đổi tùy theo nhu cầu của bạn
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0];
[theTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
}
- 1. Làm cách nào để chọn hộp kiểm mùa xuân theo mặc định?
- 2. Làm cách nào để tạo một mục menu Django ModelForm được chọn theo mặc định?
- 3. Làm một lựa chọn sai theo mặc định
- 4. Làm cách nào để xác định tùy chọn dòng lệnh nào gcc chuyển sang ld theo mặc định?
- 5. Làm thế nào để làm cho JOptionPane.showConfirmDialog có Không được chọn theo mặc định?
- 6. Combo Box theo mặc định chọn tùy chọn cuối cùng
- 7. Lựa chọn Django. Làm cách nào để đặt tùy chọn mặc định?
- 8. video.js làm cách nào để hiển thị phụ đề theo mặc định?
- 9. Tortoise SVN Commit bỏ chọn theo mặc định
- 10. haml theo mặc định
- 11. Làm cách nào để đặt các tùy chọn mặc định cho gdb?
- 12. pip install với tùy chọn xóa theo mặc định
- 13. GWT ListBox không được chọn theo mặc định
- 14. Làm cách nào để sắp xếp đầu ra xây dựng của Visual Studio theo Lệnh xây dựng theo mặc định?
- 15. Làm cách nào để mặc định svn: keywords được bật?
- 16. Làm cách nào để tạo chi tiết git-pull theo mặc định?
- 17. Làm cách nào để bật số dòng theo mặc định trong TextWrangler trên máy Mac?
- 18. Làm cách nào để mở các tệp PDF theo trình đọc PDF mặc định?
- 19. Làm cách nào để hiển thị bàn phím theo mặc định trong UITextView?
- 20. Làm cách nào để tạo một sự kiện iCal theo lịch trình trong lịch mặc định?
- 21. Làm cách nào để buộc F # tương tác tham chiếu Gtk # theo mặc định?
- 22. Làm cách nào để thiết lập các số nguyên trong phpMyAdmin theo mặc định?
- 23. Làm cách nào để đặt giá trị cho tùy chọn mặc định bằng Html.DropDownList
- 24. lựa chọn formtastic, một mục được chọn làm mặc định
- 25. Tắt hiệu ứng chọn khi chọn UITableViewCell
- 26. Đặt hàng theo desc làm tùy chọn mặc định cho SQL Server Management Studio?
- 27. Làm thế nào để tạo một bản đồ google theo mặc định tới Hoa Kỳ?
- 28. làm thế nào để làm cho một uitableviewcell không thể chọn
- 29. Làm thế nào để đặt hình ảnh vòng viền trong Outlook theo mặc định
- 30. JavaScript: Cách chọn "Hủy" theo mặc định trong hộp xác nhận?
Xem câu hỏi này: http://stackoverflow.com/questions/19295297/uitableviewcell- set-selected-initial/25128427 # 25128427 –