学习Swift也有一段时间了,也是和OC一样在自学,比OC更操蛋的是,这个只是在工作之余学习的,不过有过面向对象的基础,学起这个很容易上手。现在在这里写的直接就是开发中UI控件的创建和使用。因为,单纯的讲语言语法比较枯燥,无聊。有相关的语法在后面用到的话在穿插进来将这样的话可能会更容易理解一点。用过OC开发的话,其实对于我下面写的你一看就懂了。因为说的都是控件的使用,只是用不同的语言罢了。根本不用过多的停留。下面直接小试牛刀一下。大牛勿喷.....:).....
用Swift创建工程,Xcode默认会创建几个文件,和OC中一样的。会默认生成 viewDidLoad 和 didReceiveMemoryWarning 方法。
直接到相应的控制器中写东西就好。
一:UIView
文字上的东西就不多说了,码农都喜欢看代码。
//view
func uiviewset(){
let view1=UIView(frame: CGRectMake(10, 50, 200, 200))
let view2=UIView(frame: CGRectMake(60, 100, 200, 200))
let view3=UIView(frame: CGRectMake(110, 150, 200, 200))
view1.backgroundColor=UIColor.redColor()
view2.backgroundColor=UIColor.greenColor()
view3.backgroundColor=UIColor.blueColor()
//先添加view1,再添加view2,最后添加view3 所以view2在view3 的下面 view1在view2的下面
self.view.addSubview(view1)
self.view.addSubview(view2)
self.view.addSubview(view3)
//透明度
view1.alpha = 0.8
//tag属性
view1.tag = 10
//将view1挪到最上边
// self.view.bringSubviewToFront(view1)
//将view1挪到最下边
// self.view.sendSubviewToBack(view2)
//互换
// self.view.exchangeSubviewAtIndex(3, withSubviewAtIndex: 2)
//view的移除
view2.removeFromSuperview()
//还有View的动画,不在这里讲,有时间在新开文章详细讲动画的相关问题
}
二:UILable
//UILable
func Lableset(){
let lable = UILabel(frame:CGRectMake(50,50,100,25))
lable.text = "Swift--Test"
self.view.addSubview(lable)
//做过的都知道,UILable在默认情况下是背景色为透明,走对齐方式,单行显示的。
lable.backgroundColor = UIColor.yellowColor()
lable.textColor = UIColor.blueColor()
//阴影
lable.shadowColor = UIColor.yellowColor()
lable.shadowOffset = CGSizeMake(2, 2)
//字体,大小
lable.font = UIFont.systemFontOfSize(15)
lable.font = UIFont.boldSystemFontOfSize(15)//在加粗
lable.font = UIFont.italicSystemFontOfSize(15)//斜体,但对中文无效
//指定字体名称来创建字体
lable.font = UIFont(name:"Courier",size: 15)
let array = UIFont.familyNames()//可获得系统支持的所有字体名称
print(array)
//通过字体文件(.ttf)来创建字体。这个在这里先不说,后面另外起一篇专门来说通过下载的.ttf文件来创建字体
//对齐方式
lable.textAlignment = NSTextAlignment.Center
/*
Left
Center
Right
Justified
Natural
*/
//设置文本自适应和能最小的缩放比例。
lable.adjustsFontSizeToFitWidth = true
lable.minimumScaleFactor = 0.6
//设置多行显示
lable.numberOfLines = 0
//设置换行方法
lable.lineBreakMode = .ByWordWrapping
/*
ByWordWrapping (default)
ByCharWrapping
ByClipping
ByTruncatingHead // Truncate at head of line: "...wxyz"
ByTruncatingTail // Truncate at tail of line: "abcd..."
ByTruncatingMiddle
*/
}
三:UIButton
//button
func buttonset(){
let btn = UIButton(frame:CGRectMake(20,70,200,40))
btn.backgroundColor = UIColor.yellowColor()
self.view .addSubview(btn)
//创建一个ContactAdd类型的按钮
let button:UIButton = UIButton(type:.Custom)
//设置按钮位置和大小
button.frame=CGRectMake(10, 150, 100, 30)
//设置按钮文字
button.setTitle("按钮", forState:UIControlState.Normal)
button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字
button.setTitle("触摸状态", forState:UIControlState.Highlighted) //触摸状态下的文字
button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字
button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通状态下文字的颜色
button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //触摸状态下文字的颜色
button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用状态下文字的颜色
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //高亮状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //禁用状态下文字阴影的颜色
button.setImage(UIImage(named:"icon1"),forState:.Normal) //设置图标
button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗
button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)
//添加点击事件
button.addTarget(self, action:#selector(ViewController.Click), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button);
/**
TouchDown:单点触摸按下事件,点触屏幕
TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
TouchDragInside:触摸在控件内拖动时
TouchDragOutside:触摸在控件外拖动时
TouchDragEnter:触摸从控件之外拖动到内部时
TouchDragExit:触摸从控件内部拖动到外部时
TouchUpInside:在控件之内触摸并抬起事件
TouchUpOutside:在控件之外触摸抬起事件
TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
*/
}
//按钮的点击事件
func Click(){
print("ButtonClick")
}
相应的效果图就不上了,一看就知道会出现什么效果了...............
四:UIImageView
UIImageView是专门用来显示图片的控件,它的创建方法有三种,对应的分别是它的三个构造方法
1.init ( frame:CGRect ) 继承自UIView的构造方法
2.init ( image: UIImage!) 这种方法创建出来的UIImageView的大小是图片的大小
3.init ( image:UIImage! , highlightedImage:UIImage?) 第一个参数为正常模式下的图片, 第二个为高亮状态下的图片。
下面代码说话
方法一:
let img = UIImage(named: "123.png")
let imgv = UIImageView(frame:CGRectMake(50, 50, 200, 50))
imgv.image = img
self.view .addSubview(imgv)
方法二:
let img = UIImage (named: "123.png")
let imgv = UIImageView(image: img)
imgv.frame = CGRectMake(50, 50, 200, 50)
self.view .addSubview(imgv)
方法三:
let img = UIImage (named: "123.png")
let img2 = UIImage(named: "456.png")
let imgv = UIImageView(image: img,highlightedImage: img2)
imgv.frame = CGRectMake(50, 50, 200, 50)
// imgv.highlighted = true
self.view .addSubview(imgv)
以上三种方法创建出来的UIImageView运行效果一样。如下图所示。
对于第三种方法,第二个参数是在高亮状态下的图片,在tableView视图中点击每个cell时,图片可以显示为高亮状态,当然也可以手动设置。
imgv.highlighted = true
这样的话运行显示的就是高亮状态下的图片。如下图所示。
UIImageView当然也还有其他属性,例如,BackgroundColor , userInteractionEnabled(Bool)等。这里就不多说了。
有关使用UIImageView实现动画和UIImage的图片拉伸有时间另起博文来说。这里就讲基础控件的创建和基本的属性。
五:UITextField单行文本框
UITextField是用来生成单行文本框的类,见过输入账号和密码那个吧。对,这里讲的就是那个鬼了。
这个控件相对应的属性比较多,例如,边框,颜色,对齐方式,文字清除模式和显示模式,第一响应者以及会涉及到键盘等。
今天就先到者了。
--------------------------------------------------------------------- 我是分割线 ----------------------------------------------------------------------------
更新中。。。。。。。。