swift基础教程:字符转为类,代码创建控件
2016-04-06 20:48
218 查看
在swift编程(http://www.maiziedu.com/course/ios/16-161/)中,我们都会遇到这样两个问题,如何把字符转为类和代码创建控件的方法,下面就具体讲解这两个知识点
在使用类之前要先获得 命名空间
通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类
// 从info字典中获取到 命名空间 转为字符型
let NS = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! string
let clss:AnyClass? = NSClassFormString(NS +"."+字符类名)
let Vcla = clas as! UIViewController.TYpe //把类的类型转为 相应类型
let vc = Vcla.init() //初始化一个对象
修改命名空间
创建 控件
方式:代码创建,xib创建,nib创建
一般都需要重写init 在其中添加相应属性或者相应对象
在Switf 中 代码创建时 重写init之后 会提示创建
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
这个init 是限制我们只能用代码创建控件,防止混淆
根据一个控件算出另一个控件 公式
//那个控件 的 什么属性 等于 另外一个控件 的 什么属性 乘以 多少 加上多少
let massWidth = NSLayoutConstraint(item: 控件1, attribute: 控件1的属性 , relatedBy: NSLayoutRelation.Equal(), toItem: 另一个控件, attribute: 对应属性, multiplier: 倍数, constant: 再加多少 )
//给控件设置宽度
addConstraint(massWidth)
在使用类之前要先获得 命名空间
通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类
// 从info字典中获取到 命名空间 转为字符型
let NS = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! string
let clss:AnyClass? = NSClassFormString(NS +"."+字符类名)
let Vcla = clas as! UIViewController.TYpe //把类的类型转为 相应类型
let vc = Vcla.init() //初始化一个对象
修改命名空间
创建 控件
方式:代码创建,xib创建,nib创建
一般都需要重写init 在其中添加相应属性或者相应对象
在Switf 中 代码创建时 重写init之后 会提示创建
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
这个init 是限制我们只能用代码创建控件,防止混淆
根据一个控件算出另一个控件 公式
//那个控件 的 什么属性 等于 另外一个控件 的 什么属性 乘以 多少 加上多少
let massWidth = NSLayoutConstraint(item: 控件1, attribute: 控件1的属性 , relatedBy: NSLayoutRelation.Equal(), toItem: 另一个控件, attribute: 对应属性, multiplier: 倍数, constant: 再加多少 )
//给控件设置宽度
addConstraint(massWidth)
相关文章推荐
- swift实现二维码扫描案例
- swift 数组
- Swift和OC代码注释分析 #pragma mark, FIXME and TODO
- swift学习笔记
- Ubuntu安装Swift 2.2
- IOS开发之——Masonry 只支持OC,暂不支持swift
- Swift NavigationController的使用
- Swift的lazy关键字–延迟加载
- swift 获取MAC/PI 地址
- Swift与OC混编
- Swift
- swift为可选类型添加扩展
- Swift UIAlertView/UIActionSheet
- swift表格(UITableView)介绍与基础实现
- Swift - 使用CoreLocation实现定位(经纬度、海拔、速度、距离等)
- Swift快速入门之开始吧
- Swift学习笔记之基本数据类型-元组
- Swift学习笔记之基本数据类型-整形,浮点,布尔
- swift语言使用正则表达式验证字符串是否为邮箱,手机号,身份证号
- swift基本语法(总结提炼版)之012 swift 之闭包