2015-06-14 18 views
9

Có thể tạo một NSTableView trong Trình tạo giao diện có số hàng được đặt trước để bảng có thể được sử dụng làm biểu mẫu không?NSTableView tĩnh với các hàng được đặt trước

Tôi có chế độ xem yêu cầu hình thức các nhãn và trường văn bản khác nhau. Tôi đã thử sử dụng các nhãn đơn và các trường văn bản nhưng trông có vẻ kém. Tương tự với NSForm bổ sung đưa một vài hạn chế về bố cục và nội dung ô.

Vì vậy, chế độ xem bảng trông rất được đánh bóng như một dạng xem biểu mẫu. Điều tôi muốn làm tối ưu là kéo bảy TextTableViewCell s vào một static NSTableView trong IB và đặt nhãn trong cột đầu tiên và tự động đặt giá trị trong các hàng cột thứ hai.

Nhưng nếu tôi xây dựng thì bảy hàng của tôi biến mất. Làm thế nào tôi có thể nhận được NSTableView để hoạt động tĩnh?

Trả lời

1

Như @Anc Ainu đã chỉ ra, kể từ OS X 10.10, bạn có thể sử dụng bảngViewView tĩnh trong OS X. Bạn phải đặt thuộc tính usesStaticContents trên NSTableView để làm cho ứng dụng hoạt động giống như bảng tĩnhView trên iOS. Theo tài liệu:

Bảng tĩnh không dựa vào nguồn dữ liệu để cung cấp số hàng. Nội dung của chế độ xem bảng tĩnh được đặt ở thời gian thiết kế và có thể được thay đổi theo chương trình nếu cần. Thông thường, bạn không thay đổi nội dung của chế độ xem bảng tĩnh sau khi đặt chúng.

Trong Xcode, bất kỳ hàng nào bạn thêm vào bảng tĩnh đều được lưu trong tệp nib hoặc bảng phân cảnh tương ứng và được tải với phần còn lại của bảng khi chạy. Bạn có thể thêm các hàng trong bảng lập trình vào một khung nhìn bảng tĩnh bằng cách sử dụng phương thức insertRowsAtIndexes: withAnimation:. Khi thêm hàng theo chương trình, đại biểu xem bảng của bạn phải triển khai phương thức tableView: viewForTableColumn: row: để cung cấp chế độ xem tương ứng cho bất kỳ hàng mới nào. Bạn cũng có thể xóa các hàng bất kỳ lúc nào bằng phương thức removeRowsAtIndexes: withAnimation:

Hãy nhớ rằng thuộc tính này có sẵn trên OS X 10.10 trở lên.

+1

Điều gì về 'usesStaticContents' có sẵn trong OSX 10.10 Liên kết: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/#//apple_ref/occ/instp/ NSTableView/usesStaticContents – AncAinu

+0

Bạn hoàn toàn đúng! Tôi không biết về tài sản này. Đã chỉnh sửa câu trả lời của tôi ngay lập tức! Cảm ơn! – mangerlahn

+1

Có thể tạo các chế độ xem tĩnh này trong chế độ xem bảng trong IB không? –

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