加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何参考Swift游乐场本身?

发布时间:2020-12-14 05:19:33 所属栏目:百科 来源:网络整理
导读:从 How to create a button programmatically? 自我不能在快速的操场上工作: button.addTarget(self,action: "buttonAction:",forControlEvents: UIControlEvents.TouchUpInside) 错误: Playground execution failed: error: :42:13: error: use of unreso
从 How to create a button programmatically?

自我不能在快速的操场上工作:

button.addTarget(self,action: "buttonAction:",forControlEvents: UIControlEvents.TouchUpInside)

错误:

Playground execution failed: error: :42:13: error: use of
unresolved identifier ‘self’

我也尝试创建一个类ButtonAction方法里面编译,但当我点击按钮没有打印在控制台

import UIKit

class myself {


    func buttonAction(sender:UIButton!)
    {
        println("Button tapped")
    }

}

var s = myself()

// Create View
var f = CGRect(x:0,y:0,width:200,height:200)
var view = UIView(frame:f)


// Create Button
var b = UIButton(frame: f)
b.setTitle("Hello",forState: UIControlState.Normal)
b.addTarget(s,forControlEvents: UIControlEvents.TouchUpInside)

view.addSubview(b)

view
不幸的是,操场上的控制不是互动的.

通过创建和显示一个Mac操作系统的NSWindow,我试图绕过操场控制的非交互性,但结果是窗户在操场后面闪烁.

最好的我可以在探索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,width: 100,height: 20))

textField.stringValue = "Test"

view.addSubview(textField)

var button = NSButton(frame: NSRect(x: 30,y: 60,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)

UPDATE

我能够在Swift操场上获得半功能的OS X窗口,并将代码放在一个github repo中.我不知道是否可以使用基于UIKit的交互视图.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读