swift 字符转为类,代码创建控件
在使用类之前要先获得 命名空间
通过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 字符转为类,代码创建控件的更多相关文章
- android 中通过代码创建控件
package bvb.de.openadbwireless.circle; import android.annotation.TargetApi; import android.app.Activ ...
- IOS开发学习笔记019-动态创建控件
动态创建控件 一.按钮 二.文本输入框 三.lable标签 注意: 只是简单的拖拽控件会毁了你,所以最好还是手动通过代码创建控件. 如果要通过代码生成按钮的话,可以在系统自带的函数viewDidLoa ...
- MFC编程入门之八(对话框:创建对话框类和添加控件变量)
创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数. 例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDIT ...
- 问题解决——基于MSCOMM32.OCX控件的类在客户机不能创建控件
大家不要笑我了,我不喜欢用那个人家写的串口类. 所以导出了MSCOMM32.OCX的类,然后在此基础上写了一个串口打印机的小工具类. -------------声明--------------- 本文 ...
- 【转】VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
原文网址:http://www.jizhuomi.com/software/153.html 前两讲中鸡啄米为大家讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.鸡啄米再声明下, ...
- VS2010/MFC对话框三:创建对话框类和添加控件变量
创建对话框类和添加控件变量 前两讲中讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 例程Addition是 ...
- VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
前两讲中鸡啄米为大家讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.鸡啄米再声明下,生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 因为鸡啄米给大家的例程 ...
- VS2010-MFC(对话框:创建对话框类和添加控件变量)
转自:http://www.jizhuomi.com/software/153.html 前两讲中讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.生成对话框类主要包括新建对话框类 ...
- 【转】线程间操作无效: 从不是创建控件“textBox2” 的线程访问它。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
随机推荐
- 【MSDN原版】Windows 7 with SP1各版本下载
Windows 7 Ultimate with Service Pack 1简体中文旗舰版:Windows 7 Ultimate with Service Pack 1 (x86) - DVD (Ch ...
- Web程序员开发App系列 - 开发我的第一个App,源码下载
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- 编写高质量JS代码的68个有效方法(九)
No.41.将原型视为实现细节 Tips: 对象是接口,原型是实现 避免检查你无法控制的对象的原型结构 避免检查实现在你无法控制的对象内部的属性 我们可以获取对象的属性值和调用其方法,这些操作都不是特 ...
- 使用stdarg.h实现可变长度参数
现在先用一个使用过程讲解一下: ◎用法: func( Type para1, Type para2, Type para3, … ) { /****** Step 1 ******/ va_list ...
- 20款优秀的国外 Mobile App 界面设计案例
在下面给大家分享的移动应用程序界面设计作品中,你可以看到不同创意类型的视觉效果.如果你想获得灵感,那很有必要看看下面20个优秀用户体验的移动应用 UI 设计.想要获取更多的灵感,可以访问移动开发分类, ...
- LeetCode——Find the Duplicate Number
Description: Given an array nums containing n + 1 integers where each integer is between 1 and n (in ...
- LeetCode—— Median of Two Sorted Arrays
Description: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the medi ...
- Mysql数据库安全管理配置
1.删除test库 原因: The default MySQL installation comes with a database named test that anyone can access ...
- 自定义JSTL标签和函数库
一.自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext ...
- Gradle学习系列之九——自定义Task类型
在本系列的上篇文章中,我们学习了多Project构建,在本篇文章中,我们将学到如何自定义Task类型. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...