К сожалению, элементы управления на игровых площадках не интерактивны.
На днях я попытался обойти неинтерактивность элементов управления игровой площадкой, создав и отобразив NSWindow
для игровой площадки Mac, однако в результате окно просто мигало за игровой площадкой.
Лучшее, что я могу сказать после некоторого изучения NSProcess
, NSBundle
, NSApplication
и просмотра системного монитора активности, игровая площадка фактически компилирует ваш код, загружает его в приложение-заглушку, выполняет, игровая площадка фиксирует результаты и отображает их, а затем приложение-заглушка закрывается. или ждет следующего выполнения. Это означает, что к тому времени, когда вы увидите результаты, код больше не будет выполняться.
Если вам интересно, вы можете попробовать приведенный ниже код на игровой площадке, чтобы понять, что я имею в виду. Если вы откроете монитор активности и отфильтруете PlaygroundStub_OSX
, вы увидите процесс, который запускает запуск кода. Он часто находится в состоянии «Не отвечает». Я также включил снимок экрана с результатами проверки части кода.
import Cocoa
var app = NSApplication.sharedApplication()
app.hidden
var procInfo = NSProcessInfo.processInfo()
procInfo.processName
procInfo.arguments
var bundle = NSBundle.mainBundle()
bundle.bundlePath
var window = NSWindow(contentRect: NSRect(x: 30, y: 30, width: 400, height: 400), styleMask: NSTitledWindowMask, backing: .Buffered, defer: false)
var view = NSView(frame: NSRect(x: 0, y: 0, width: 300, height: 300))
var textField = NSTextField(frame: NSRect(x: 30, y: 30, width: 100, height: 20))
textField.stringValue = "Test"
view.addSubview(textField)
var button = NSButton(frame: NSRect(x: 30, y: 60, width: 100, height: 30))
button.highlight(true)
var buttonCell:NSButtonCell = button.cell() as NSButtonCell
buttonCell.bezelStyle = NSBezelStyle.RoundedBezelStyle
view.addSubview(button)
window.contentView.addSubview(view)
window.makeKeyAndOrderFront(nil)
ОБНОВЛЕНИЕ
Мне удалось получить полуфункциональное окно OS X на игровой площадке Swift и поместить код в репозиторий github. Я не уверен, что интерактивное представление на основе UIKit возможно.
person
BergQuester
schedule
08.06.2014
self
вне какого-либо метода класса - person BergQuester   schedule 08.06.2014