Swift编程中字符转为类,代码创建控件详解

在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)

时间: 2024-12-20 00:14:22

Swift编程中字符转为类,代码创建控件详解的相关文章

swift学习笔记:字符转为类,代码创建控件

在swift编程(http://www.maiziedu.com/course/ios/16-161/)中,我们都会遇到这样两个问题,如何把字符转为类和代码创建控件的方法,下面就具体讲解这两个知识点 在使用类之前要先获得 命名空间 通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类 // 从info字典中获取到 命名空间 转为字符型 let NS = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"

swift 字符转为类,代码创建控件

在使用类之前要先获得 命名空间 通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类 // 从info字典中获取到 命名空间 转为字符型 let NS = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! string let clss:AnyClass? = NSClassFormString(NS +"."+字符类名) let Vcla = clas as! UIV

代码创建图片轮换; 代码创建控件时,如何将控件定义成属性

代码创建图片播放 #import "ViewController.h" #define kLength 15 @interface ViewController () @property(nonatomic, weak)UIImageView *myImage; @property(nonatomic, weak)UILabel *myLabel; @property(nonatomic,weak) UISlider *mySlider; @end @implementation Vi

iOS基础控件之 用代码创建控件,不用storyboard

在开发过程中,并不是每次都通过storyboard拖控件完成UI界面,因为storyboard上面的界面是“固定死”的,有时候可能会在程序运行过程中动态地添加一些新的控件到界面上. 比如QQ的聊天信息,是有人发出一条信息后才动态显示出来的. 因此,需要掌握如何用代码动态地添加控件 实际上,storyboard的本质就是根据图形界面描述转成相应的代码. 实践: // 创建一个自定义的按钮 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCu

IOS 代码创建控件,并有处理事件

@interface AppDelegate() @property UILabel* show; @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen

5.ios之代码创建控件和排版

1.UIView 在View里面添加的控件是x,y是以View的左上角开始算 2.UIButton UIButton 里面包含UIlable 和 UIImageView 设置text时要用setTitle ,不能直接改 titleLabel.text 因为不知道text的状态 设置text字体时titleLabel.font 3. NSArray 懒加载 @property (nonatomic, strong) NSArray *apps; @implementation MJViewCont

android 中通过代码创建控件

package bvb.de.openadbwireless.circle; import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.view.View; impor

java中带继承类的加载顺序详解及实战

一.背景: 在面试中,在java基础方面,类的加载顺序经常被问及,很多时候我们是搞不清楚到底类的加载顺序是怎么样的,那么今天我们就来看看带有继承的类的加载顺序到底是怎么一回事?在此记下也方便以后复习巩固! 二.测试步骤: 1.父类代码 1 package com.hafiz.zhang; 2 3 public class Fu 4 { 5 private int i = print("this is father common variable"); 6 private static

026-代码创建控件-iOS笔记

学习目标 1.[理解]代码创建控件过程 2.[理解]代码实现QQ登陆界面 3.[理解]图片浏览器 4.[理解]汤姆猫小游戏 一.代码创建控件过程 所有控件都是类的对象,不同的类创建可以不同类型的控件.也是就说创建一个控件其实就是创建一个对应类的对象. 常用控件类型 UIButton:按钮,界面上可点击的大都是按钮 UILabel:标签,界面上只显示文字不能点击大都是标签 UITextField:文本框,界面上可输入数据的文本框 UIImageView:图片框,界面上不可点击的图片大都是图片框 使