我们知道在Xcode的playground中不仅可以测试console代码,还可以测试UI代码,甚至我们可以测试SpriteKit中的场景

而在本篇中我们只是简单聊一聊最新的Xcode8.0 beta2(以下简称Xcode8b2)中playground对UIKit支持有了哪些改变.

首先贴出以下小段演示代码:

// 1
import UIKit
import XCPlayground// 2
class Responder: NSObject {func tap() {print("Button pressed")}
}
let responder = Responder()// 3
let button = UIButton(type: .System)
button.setTitle("Button", forState: .Normal)
button.addTarget(responder, action: "tap", forControlEvents: .TouchUpInside)
button.sizeToFit()
button.center = CGPoint(x: 50, y: 25)// 4
let frame = CGRect(x: 0, y: 0, width: 100, height: 50)
let view = UIView(frame: frame)
view.addSubview(button)
XCPlaygroundPage.currentPage.liveView = view
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

导入UIKit是必须的,而导入XCPlayground是为了在UI中测试UIKit代码!不过遗憾的是以上代码并不能很好的在Xcode8b2中运行,这是因为最后一句会报错!

解决很简单,就是在playground开头再导入PlaygroundSupport库,然后将最后一句改为:

PlaygroundPage.current.liveView = view
  • 1
  • 1

最后别忘了打开UI测试界面:

好了我们可以在Xcode最右部分看到一个按钮显示出来,该按钮就是我们在playground中用代码即时创建出来的油 ;]

点击该按钮就会之前绑定的tap方法:

如果觉得不满意,可以随即在playground代码中立即改动UI界面然后马上看到结果,不用再建立新的Xcode UI Project了,是不是很方便呢!?

Swift3的playground中对UI直接测试支持的改变相关推荐

  1. ActionScript工程如何使用Flash CS的fl包中的UI组件(转)

    最近在看ActionScript 3.0 设计模式,书中的例子都是在Flash CS3中开发和测试通过的.我用的开发环境是Flex 3,我新建了一个ActionScript 项目,需要使用fl组件包. ...

  2. 中video拖动_【小功能】UE4中实现UI的拖拽

    后续文章更新移步→微信公众号"虚幻社区"(mantra-xhsq),您的支持是我创作的动力. 在几乎任何游戏中,都会用到UI的拖拽,尤其是在背包操作中.所以几乎任何一个完整的游戏引 ...

  3. 机器学习应用中的UI个性化

    摘要: 在这篇文章中,我们看看关于机器学习应用中的UI个性化问题,谈一谈为什么在应用程序开发的过程中交流和沟通是成功的关键. EdgVerve推出了基于AI的业务应用平台的新一代集成人工智能平台-In ...

  4. Unreal Engine 4 中的 UI 优化技巧

    http://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## 2017-05-09 虚幻引擎 Unreal Open Day 2017 活动上 Epic Gam ...

  5. 阿里重磅开源中后台UI解决方案Fusion

    2018年12月16号,Fusion 在 OSC 深圳源创会年终盛典上正式开源, 这个在阿里内部跑了三年的产品,终于对外了. 可能一些业界的同学已经在某些渠道听说过阿里的 Fusion Design ...

  6. 百度 Hydra 工具在移动端 UI 兼容性测试上的高效应用

    导读:尽管自动化测试技术日新月异,但是自动化case构建成本.执行稳定性等问题的存在,使手工测试依然移动端质量保证的重要手段.传统手工测试必须通过人工操作的方式执行测试用例,效率提升依赖测试人员的操作 ...

  7. 面试中有关UI自动化的那些事 ~

    面试官过程中UI自动化必问的几个问题总结: 一.有做过UI自动化吗?怎么做的?这个问题在面试中问UI自动化相关技能的时候常常被问到,那该如何去回答呢? 接下来我就UI自动化相关的一些面试的问题做一个解 ...

  8. 移动端UI兼容性测试利器-Hydra

    导读:尽管自动化测试技术日新月异,但是自动化case构建成本.执行稳定性等问题的存在,使手工测试依然移动端质量保证的重要手段.传统手工测试必须通过人工操作的方式执行测试用例,效率提升依赖测试人员的操作 ...

  9. Unity3D-高通AR-《狼来了》-4AR场景中的UI交互

    Unity3D-高通AR-<狼来了>-4AR场景中的UI交互 1.场景中添加按钮对象 1.1 添加按钮对象,设置Canvas属性 1.2 设置按钮对应图片 1.3 设置按钮的位置 2.播放 ...

最新文章

  1. 笔记本html外接显示器,笔记本
  2. 软件“吞噬”世界后,我们正在进入“活产品”时代
  3. 移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程
  4. C语言编写DFT计算程序, 并绘制幅度谱
  5. matlab adc仿真,[转载]关于ADC仿真做FFT的设置和结果分析
  6. matlab arima模型定阶,ARIMA模型预测问题
  7. html中怎么写jq,用jQuery替换HTML页面中的文本
  8. 跟踪算法原理_「综述」目标跟踪算法
  9. cocos2d-x 2.2.3 之菜单分析(1)
  10. 各种数字推理题解题技巧
  11. vmware 无人参与应答文件包含的产品密钥无效
  12. 利用MATLAB进行shp文件转换并绘制断层线
  13. 区间对比_预算10-15万元区间 国内在售街车综合实力对比
  14. 怎样使用计算机定时关机,win10怎么定时关机?
  15. 【无线电】无线电频谱和波段划分
  16. App和小程序开发成本对比
  17. 几周以来在学习和生活中的总结
  18. c语言穷举法等式求缺位数,四年级下册数学奥数试题-培优拓展训练--第13讲:数字谜题(教师版)...
  19. 天天向商为什么更名,更名为稿定设计之后有什么变化?
  20. 电烙铁使用方法,diy套件

热门文章

  1. Nature综述: 地球上细菌和古菌的生物被膜丰度
  2. 那些不回微信的人,都在想什么?
  3. 解决pandas:ValueError: Cannot convert non-finite values (NA or inf) to integer
  4. ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64‘).
  5. R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案
  6. pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns
  7. R假设检验之Durbin-Watson检验(Durbin-Watson Test)
  8. R可视化绘制t分布(t Distribution)
  9. vue ajax提交防止伪造,axios+vue防止点击提交按钮而发送多次请求
  10. SparkSQL入门_1