В настоящее время я работаю над пользовательским тегом NSButton
. Каждый учебник или руководство, которое я нашел, требуют подкласса NSButtonCell
, даже руководство от Apple.
Все они выглядят устаревшими, потому что все клеточные методы в NSControl
устарели в Yosemite. Я не нашел рекомендаций или руководств, которые следует использовать в качестве замены.
Это единственное утверждение, которое я могу найти:
Постепенное отклонение NSCell
Mac OS X 10.10 делает еще один шаг к окончательному клетки. Прямой доступ к ячейке элемента управления обескуражен и методы, которые допускают его, будут формально устаревать в последующем выпуск. Разнообразные API-интерфейсы на уровне клеток были Контрольные подклассы, чтобы обеспечить свободный доступ к важным функциональность. NSLevelIndicator, NSTextField, NSSearchField, NSSlider, и NSPathControl имеют новые свойства для этой цели. Клеточная NSTableViews теперь устарели, а NSTableViews на основе представлений должны быть используется вместо этого. Матричные NSBrowsers также устарели в пользу интерфейс на основе элементов.
Отрывок из: Заметки о выпуске AppKit для OS X v10.10
Нет слов на NSButton
, хотя.
NSTextField
поддерживает просмотры с поддержкой слоев; из-за этого я пробовал такой же подход на моем NSButton
, но это не имеет никакого эффекта.
var btn = NSButton(NSMakeRect(0, 0, 50, 20))
btn.wantsLayer = true
btn.bordered = false
btn.layer?.backgroundColor = NSColor(calibratedWhite: 0.99, alpha: 1).CGColor
btn.layer?.borderWidth = 1
btn.layer?.borderColor = NSColor(calibratedWhite: 0.81, alpha: 1).CGColor