Tôi nên sử dụng các ràng buộc bố cục tự động bên trong lớp phủ NSSplitView
như thế nào?NSSplitView và autolayout
NSSplitView
subview của tôi có 3 subview: topPane
, tableContainer
và bottomPane
và tôi đặt ép như thế này:
NSDictionary* views = NSDictionaryOfVariableBindings(topPane, tableContainer, bottomPane);
for (NSView* view in [views allValues]) {
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
}
[myView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[topPane(34)][tableContainer][bottomPane(24)]|"
options:0
metrics:nil
views:views]];
[mySplitView addSubview:myView];
Và có này trong giao diện điều khiển:
Unable to simultaneously satisfy constraints:
(
"<NSLayoutConstraint:0x7fd6c4b1f770 V:[NSScrollView:0x7fd6c4b234c0]-(0)-[CPane:0x7fd6c4b2fd10]>",
"<NSLayoutConstraint:0x7fd6c4b30910 V:[CPane:0x7fd6c4b2f870(34)]>",
"<NSLayoutConstraint:0x7fd6c4b30770 V:|-(0)-[CPane:0x7fd6c4b2f870] (Names: '|':NSView:0x7fd6c4b22e50)>",
"<NSLayoutConstraint:0x7fd6c4b212f0 V:[CPane:0x7fd6c4b2fd10]-(0)-| (Names: '|':NSView:0x7fd6c4b22e50)>",
"<NSLayoutConstraint:0x7fd6c4b2f910 V:[CPane:0x7fd6c4b2f870]-(0)-[NSScrollView:0x7fd6c4b234c0]>",
"<NSLayoutConstraint:0x7fd6c4b21290 V:[CPane:0x7fd6c4b2fd10(24)]>",
"<NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7fd6c4b1f770 V:[NSScrollView:0x7fd6c4b234c0]-(0)-[CPane:0x7fd6c4b2fd10]>
Tôi nghĩ <NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>
nguyên nhân này, nhưng tôi không thể đặt lại mặt nạ tự động hóa, vì NSSplitView
đặt nó.
Cách tốt nhất để sử dụng bố cục tự động trong chế độ xem chia tách là gì? Và có cách nào để xử lý min/tối đa kích thước của subview xem phân chia với bố trí tự động mà không cần NSSplitViewDelegate
?
Cùng một vấn đề ở đây. Tôi đặt mọi thứ trong IB thay vì lập trình, nhưng có kết quả gỡ lỗi tương tự, bao gồm 'NSAutoresizingMaskLayoutConstraint'. –
Điều này có vẻ cố định dưới 10.8 nhưng bị hỏng khi bạn lưu ý dưới 10.7. Trong 10.8 bạn có thể thiết lập chiều cao tối thiểu và chiều rộng của các khung nhìn nội dung của chế độ xem chia nhỏ trong Xcode (4.5.2 anyway). Không thể thực hiện điều này dưới 10.7 và các ứng dụng với tính năng này được tạo trong 10.8 vẫn không hoạt động ngay trong 10.7 – Dad
Hoạt động nói chung với 10.8+ nhưng ràng buộc cần phải được chỉ định giữa các lần xem phụ cho hầu hết các lượt xem - chứ không phải supre - hoặc bạn sẽ nhận được * Không thể để đồng thời đáp ứng * lỗi .. – Jay