2011-12-20 16 views
53

Để có khả năng sử dụng lại tốt hơn, tôi muốn tạo chế độ xem bảng bên ngoài Bảng phân cảnh của mình.Các ô mẫu thử trong một ngòi thay vì bảng phân cảnh

Bây giờ khi tôi tạo một ViewController dựa trên UITableView với Nib trong Xcode, tôi nhận được TableView mặc định trong tệp nib. Tuy nhiên, tôi không thể trong Interface Builder để thêm các tế bào nguyên mẫu như tôi đang ở trong Storyboard của tôi.

Hiện tại, tôi không thể thêm các ô mẫu thử vào nib hoặc tôi thiếu thứ gì đó.

Cảm ơn rất nhiều vì đã giúp đỡ.

+1

Ngoài câu trả lời đúng ở trên, tôi sẽ tham khảo giải pháp chi tiết tuyệt vời cho trường hợp này. - [Link to StackAnswer] (http://stackoverflow.com/a/10298648/1698467) (bằng cách sử dụng 'UITableView: registerNib: forCellReuseIdentifier:' và 'tableView: cellForRowAtIndexPath:' với '.xib' files) – skywinder

+0

Câu hỏi này/câu trả lời là một chút bối rối với tôi. Tôi đến đây tìm cách để sử dụng các ô mẫu thử trong một khung nhìn bảng khi định nghĩa một khung nhìn bảng trong một xib. Nó hoàn toàn có thể trong một kịch bản có, nhưng bằng cách nào đó trong một xib có chỉ là không có tính năng như vậy. – Jonny

Trả lời

91

iOS 5 bao gồm một phương pháp mới trên UITableView: registerNib:forCellReuseIdentifier:

Để sử dụng nó, đặt một UITableViewCell trong một ngòi. Nó phải là đối tượng gốc duy nhất trong ngòi bút.

Bạn có thể đăng ký ngòi bút sau khi tải bảngView, sau đó khi bạn gọi dequeueReusableCellWithIdentifier: với định danh ô, nó sẽ lấy nó từ ngòi, giống như bạn đã sử dụng ô mẫu Storyboard.

+1

Tuyệt vời - Tôi chỉ tự hỏi làm thế nào để làm điều này, tìm kiếm ở đây, thấy câu trả lời của bạn, sau đó thấy rằng tôi (mà hóa ra là sai!) Là câu trả lời được chấp nhận. Besi, bạn nên chấp nhận cái này. – jrturton

+0

@jrturton Cảm ơn bạn đã đứng đầu – Besi

+2

Có cách nào để đặt chủ sở hữu tệp của các ô này thành bộ điều khiển nơi chúng được đăng ký không? – nicktmro

1

Trong Swift 4:

  1. Tạo CocoaTouch Class mới, Subclass từ UITableViewCell.
  2. quan trọng - Kích hoạt các hộp kiểm 'Cũng tạo tập tin XIB' mà tạo ra một tập tin Swift và một tập tin .xib
  3. Thêm nhãn trong xib, như bạn sẽ làm cho một tế bào nguyên mẫu trong Storyboard
  4. Kết nối cửa hàng nhãn đến tập tin nhanh chóng mới
  5. quan trọng - Đăng ký các tập tin nib trong viewDidLoad

    yourTableview.register(UINib.init(nibName: "CustomCellTableViewCell", bundle: nil), forCellReuseIdentifier: "Cell") 
    

    (hoặc)

    yourTableview.register(UINib(nibName: "CustomCellTableViewCell", bundle: Bundle.main), forCellReuseIdentifier: "Cell") 
    
  6. Thực hiện các nguồn dữ liệu và các đại biểu như bình thường và typecaste đến CustomCell trong cellForRowAtIndexPath.