Tôi có một NSSplitView có hai ô - một khung nhìn thanh bên ở bên trái và chế độ xem web ở bên phải. Tôi cũng có một bộ đại biểu đó là xử lý những khó khăn trong thanh bên như thế này:NSSplitView: Kiểm soát vị trí chia trong khi đổi kích thước cửa sổ
- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)dividerIndex {
return 500.0f;
}
- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
return 175.0f;
}
- (BOOL)splitView:(NSSplitView *)splitView canCollapseSubview:(NSView *)subview {
return NO;
}
Nó có nghĩa là thanh bên chỉ có thể được thay đổi kích cỡ giữa 175 và 500 pixel và điều này hoạt động tốt khi sử dụng tay cầm chia. Nhưng khi thay đổi kích thước toàn bộ cửa sổ, bộ chia được định vị lại từ những ràng buộc này.
Có ai biết cách kiểm soát điều này không?
Ngoài ra: Nếu tôi muốn lưu trữ lựa chọn chiều rộng thanh bên của người dùng, bạn nên đọc nó, lưu nó vào tệp tùy chọn và khôi phục sau hoặc có cách làm thẳng hơn điều này? Tôi nhận thấy rằng trạng thái của cửa sổ được lưu trong một số trường hợp - điều này thường xảy ra hay tôi phải kiểm soát nó?
Cảm ơn trước
Arne
đối với tôi, điều này không được gọi là lần đầu tiên setFrame: được gọi. Tuy nhiên, nếu tôi phân lớp NSSplitView và ghi đè resizeSubviewsWithOldSize, nó sẽ được gọi. –