2017-02-18 3 views
0

Мне интересно, есть ли способ отображения модального окна с закругленными углами вместо острых углов по умолчанию. Изображение показывает, на какие углы я имею в виду.Модальная панель с закругленными углами

enter image description here

Я попытался с изменением contentView.layer?.cornerRadius, но это не сработало. Что я могу сделать, чтобы получить нужный мне результат?

+0

Вы не хотите, чтобы сделать это. Даже если вы преуспеете, тень вокруг прямоугольного окна останется. –

+0

если это так, я хочу также удалить тень – Cristian

ответ

1

Проработав много на нем, я, наконец, нашел решение:

Frist создать новое окно без границы в интерфейсе строителя. Поместите пользовательскую форму в этой точке зрения, и убедитесь, что он уходит немного пространства от верхней границы окна:

enter image description here

Затем добавить выход из этого окна объекта в делегат своего приложения:

@IBOutlet weak var saveWindow: NSWindow! 

так скопировать, что расширение для загрузки и отклоняя панель как модальный лист:

extension NSWindow { 

    public func loadPanel(named: NSWindow) { 
     named.isOpaque = false 
     named.backgroundColor = NSColor.clear 
     named.hasShadow = false 
     self.beginSheet(named, completionHandler: nil) 
    } 
    public func closePanel(named: NSWindow) { 
     self.endSheet(named) 
    } 

} 

Вам просто нужно называть это две функции если вы ш ant открыть панель.

window.loadPanel(named: saveWindow) 

И когда вы сделали:

window.closePanel(named: saveWindow) 

Это результат:

enter image description here

Смежные вопросы