2011-08-22 27 views

Trả lời

16

Bạn đang tìm phương thức reloadRowsAtIndexPaths: phương thức trên UITableView. Nó sẽ kích hoạt tính toán lại chiều cao (và sau đó vẽ lại) của các ô cụ thể. Nó thậm chí có thể tạo hiệu ứng điều chỉnh để bạn có thể thực hiện cập nhật trong thời gian thực khi người dùng đang cuộn, sao cho chế độ xem bảng không "giật giật" hoặc "bước nói lắp" trong khi chiều cao được tính toán lại. Tôi chỉ thực hiện thành công để làm những gì bạn mô tả.

Nguồn: Update UITableViewCell without reload

+4

Reloading bảng có thể bỏ qua những bàn phím nếu chiều cao của hàng thay đổi. – aksommerville

+0

Rõ ràng. Điều này đúng bất cứ lúc nào bạn vẽ lại đầu vào trong UIKit ... –

+4

Câu hỏi đặt ra một cách cụ thể để thực hiện điều đó mà không phải loại bỏ bàn phím. reloadRowsAtIndexPaths loại bỏ bàn phím –

0

Bạn có thể gọi beginUpdates && endUpdates, Những ý gây cao ô trong bảng được recaluclated, mà không cần tải lại toàn bộ tế bào

  UIView.setAnimationsEnabled(false) 

      self.tableView.beginUpdates() 
      self.tableView.endUpdates() 
      // Re-enable animations 
      UIView.setAnimationsEnabled(true)