2011-11-08 32 views
13

Trong một số UITableView trong đó các ô có chứa các đối tượng UITextField, có một trong số các đối tượng UITextField là người trả lời đầu tiên ngăn không cho tái sử dụng ô của nó không?Liệu một UITextField có trạng thái trả lời đầu tiên trong một UITableViewCell ngăn chặn tái sử dụng tế bào?

Ví dụ: với UITableView có nhiều hàng hơn số lượng vừa với màn hình, bạn có thể nhấn vào số UITextField để hiển thị bàn phím cho trường trong ô đó. Sau đó cuộn chế độ xem bảng để làm cho ô đó tắt màn hình. Khi di chuyển trở lại ô, tôi có thể thấy các cuộc gọi đến -tableView:cellForRowAtIndexPath: cho tất cả các ô, ngoại trừ một ô có chứa số UITextField hiện đang có trạng thái trả lời đầu tiên. Hành vi này khiến tôi tin rằng iOS nhận biết rằng ô của tôi chứa trả lời đầu tiên và do đó chọn không loại bỏ ô, do đó không cần phải gọi nguồn dữ liệu để lấy ô khi cuộn trở lại chế độ xem.

Hành vi này là điều mong muốn, nhưng tôi lo ngại vì tôi chưa thấy bất kỳ tài liệu nào cho thấy hành vi này được đảm bảo và tôi sẽ không dựa vào nó nếu có điều kiện không đúng.

Có ai có thể chỉ cho tôi một số tài liệu về việc sử dụng lại chế độ xem bảng và người trả lời đầu tiên đề cập đến tình huống này không?

+1

Bạn có thể phân lớp UITableviewCell và ghi đè phương thức - (void) prepareForReuse {} để xem liệu ô của bạn có đang sử dụng lại hay không. – imthi

+0

Tôi không chắc chắn đây là tài liệu, nhưng có một điều chắc chắn: bạn không cần phải xem xét nó, vì nó có vẻ là tự động. –

Trả lời

3

Không có tham chiếu nào trong tài liệu SDK chính thức của iOS. Bạn đúng là lo ngại rằng hành vi này mà bạn đang quan sát không được bảo đảm và không nên dựa vào đó.

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