Swift3的playground中对UI直接测试支持的改变
我们知道在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直接测试支持的改变相关推荐
- ActionScript工程如何使用Flash CS的fl包中的UI组件(转)
最近在看ActionScript 3.0 设计模式,书中的例子都是在Flash CS3中开发和测试通过的.我用的开发环境是Flex 3,我新建了一个ActionScript 项目,需要使用fl组件包. ...
- 中video拖动_【小功能】UE4中实现UI的拖拽
后续文章更新移步→微信公众号"虚幻社区"(mantra-xhsq),您的支持是我创作的动力. 在几乎任何游戏中,都会用到UI的拖拽,尤其是在背包操作中.所以几乎任何一个完整的游戏引 ...
- 机器学习应用中的UI个性化
摘要: 在这篇文章中,我们看看关于机器学习应用中的UI个性化问题,谈一谈为什么在应用程序开发的过程中交流和沟通是成功的关键. EdgVerve推出了基于AI的业务应用平台的新一代集成人工智能平台-In ...
- Unreal Engine 4 中的 UI 优化技巧
http://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## 2017-05-09 虚幻引擎 Unreal Open Day 2017 活动上 Epic Gam ...
- 阿里重磅开源中后台UI解决方案Fusion
2018年12月16号,Fusion 在 OSC 深圳源创会年终盛典上正式开源, 这个在阿里内部跑了三年的产品,终于对外了. 可能一些业界的同学已经在某些渠道听说过阿里的 Fusion Design ...
- 百度 Hydra 工具在移动端 UI 兼容性测试上的高效应用
导读:尽管自动化测试技术日新月异,但是自动化case构建成本.执行稳定性等问题的存在,使手工测试依然移动端质量保证的重要手段.传统手工测试必须通过人工操作的方式执行测试用例,效率提升依赖测试人员的操作 ...
- 面试中有关UI自动化的那些事 ~
面试官过程中UI自动化必问的几个问题总结: 一.有做过UI自动化吗?怎么做的?这个问题在面试中问UI自动化相关技能的时候常常被问到,那该如何去回答呢? 接下来我就UI自动化相关的一些面试的问题做一个解 ...
- 移动端UI兼容性测试利器-Hydra
导读:尽管自动化测试技术日新月异,但是自动化case构建成本.执行稳定性等问题的存在,使手工测试依然移动端质量保证的重要手段.传统手工测试必须通过人工操作的方式执行测试用例,效率提升依赖测试人员的操作 ...
- Unity3D-高通AR-《狼来了》-4AR场景中的UI交互
Unity3D-高通AR-<狼来了>-4AR场景中的UI交互 1.场景中添加按钮对象 1.1 添加按钮对象,设置Canvas属性 1.2 设置按钮对应图片 1.3 设置按钮的位置 2.播放 ...
最新文章
- 笔记本html外接显示器,笔记本
- 软件“吞噬”世界后,我们正在进入“活产品”时代
- 移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程
- C语言编写DFT计算程序, 并绘制幅度谱
- matlab adc仿真,[转载]关于ADC仿真做FFT的设置和结果分析
- matlab arima模型定阶,ARIMA模型预测问题
- html中怎么写jq,用jQuery替换HTML页面中的文本
- 跟踪算法原理_「综述」目标跟踪算法
- cocos2d-x 2.2.3 之菜单分析(1)
- 各种数字推理题解题技巧
- vmware 无人参与应答文件包含的产品密钥无效
- 利用MATLAB进行shp文件转换并绘制断层线
- 区间对比_预算10-15万元区间 国内在售街车综合实力对比
- 怎样使用计算机定时关机,win10怎么定时关机?
- 【无线电】无线电频谱和波段划分
- App和小程序开发成本对比
- 几周以来在学习和生活中的总结
- c语言穷举法等式求缺位数,四年级下册数学奥数试题-培优拓展训练--第13讲:数字谜题(教师版)...
- 天天向商为什么更名,更名为稿定设计之后有什么变化?
- 电烙铁使用方法,diy套件
热门文章
- Nature综述: 地球上细菌和古菌的生物被膜丰度
- 那些不回微信的人,都在想什么?
- 解决pandas:ValueError: Cannot convert non-finite values (NA or inf) to integer
- ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64‘).
- R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案
- pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns
- R假设检验之Durbin-Watson检验(Durbin-Watson Test)
- R可视化绘制t分布(t Distribution)
- vue ajax提交防止伪造,axios+vue防止点击提交按钮而发送多次请求
- SparkSQL入门_1