@ Nathan'ın yanıtının benim için çalıştığı bağlantıdaki içeriğin bir Swift sürümünü yazdım. Benim örnek bağlamında splitView
muhtemelen sağlanan geniş kapsamlı bir sınıfın bir örneği özelliği olarak, başka bir yerde ayarlanır: bir sınıfta muhtemelen yöntemleri, onlar benim için
func toggleSidebar() {
if splitView.isSubviewCollapsed(splitView.subviews[1] as NSView) {
openSidebar()
} else {
closeSidebar()
}
}
func closeSidebar() {
let mainView = splitView.subviews[0] as NSView
let sidepanel = splitView.subviews[1] as NSView
sidepanel.hidden = true
let viewFrame = splitView.frame
mainView.frame.size = NSMakeSize(viewFrame.size.width, viewFrame.size.height)
splitView.display()
}
func openSidebar() {
let sidepanel = splitView.subviews[1] as NSView
sidepanel.hidden = false
let viewFrame = splitView.frame
sidepanel.frame.size = NSMakeSize(viewFrame.size.width, 200)
splitView.display()
}
Bu işlevler şunlardır edecektir. splitView
'unuz nil
olabilir, bunun için mutlaka kontrol etmeniz gerekir. Bu ayrıca iki alt görüntünüz olduğunu ve 1'inci sırada yer aldığını varsayar, burada sidePanel
daraltmak istediğinizdir.
Teşekkürler, Nathan! Bu mantıklı görünüyor ... –