工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码:

UIButton+UILabel

 //
// ViewController.swift
// manyControl
//
// Created by shaoting on 16/3/23.
// Copyright © 2016年 9elephas. All rights reserved.
//
/// swift控件篇
// UIButton
// UILabel
import UIKit class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad() makebtn(); //按钮
makelabel(); //UILabel
// Do any additional setup after loading the view, typically from a nib.
}
func makebtn(){
//按钮button
let btn:UIButton = UIButton(type:.Custom)
        btn.frame = CGRect(x:20,y:20,width: 100,height: 100)
//背景色
btn.backgroundColor = UIColor.yellowColor();
//背景图片
btn.setImage(UIImage(named: ""), forState: UIControlState.Normal)
//标题文字
btn.setTitle("按钮", forState: UIControlState.Normal)
//标题颜色
btn.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
//设置按钮标题阴影
btn.setTitleShadowColor(UIColor.blackColor(), forState: UIControlState.Normal)
//设置按钮阴影
btn.titleLabel?.shadowOffset = CGSizeMake(, )
//设置按钮标题字体样式
btn.titleLabel?.font = UIFont.systemFontOfSize()
//设置按钮内部内容边距
btn.contentEdgeInsets = UIEdgeInsetsMake(, , , )
//去掉高亮状态下的图像颜色加深
btn.adjustsImageWhenHighlighted = false
//去掉禁用状态下的图像颜色加深
btn.adjustsImageWhenDisabled = false
//添加按钮按下的发光效果
btn.showsTouchWhenHighlighted = true
//添加点击事件
btn.addTarget(self, action: "btnOnclick:", forControlEvents: UIControlEvents.AllTouchEvents)
//为按钮设置个标签
btn.tag =
self.view.addSubview(btn);
// //设置点击事件
func btnOnclick(sender:UIButton!){
print("点击了标签为\(sender.tag)按钮")
} func makelabel(){
// 普通label
let label1:UILabel = UILabel(frame: CGRect(x: ,y: ,width:,height:))
label1.text = "普通label";
label1.transform = CGAffineTransformMakeRotation(0.2) //形变角度
self.view.addSubview(label1) // 圆角label
// Label的圆角对其背景不起作用,只对其边框起作用
let label2:UILabel = UILabel(frame: CGRect(x: , y: , width: , height: ))
label2.text = "圆角label" //设置文字
label2.textColor = UIColor.redColor() //文字颜色
label2.backgroundColor = UIColor.blackColor() //label颜色
label2.textAlignment = NSTextAlignment.Center //文字对齐方式
label2.layer.cornerRadius = //剪切圆的半径
label2.layer.borderWidth = //边框宽度
label2.layer.borderColor = UIColor.redColor().CGColor //边框颜色
self.view.addSubview(label2) // 让label拥有点击事件
let label3:UILabel = UILabel(frame: CGRect(x: , y: , width: , height: ))
label3.text = "可以点击的label"
label3.adjustsFontSizeToFitWidth = true // 根据label的宽度,改变文字的大小
let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "labelOnclick:") //创建个手势
label3.userInteractionEnabled = true //打开用户交互
label3.addGestureRecognizer(tap) //为label添加一个手势
label3.shadowColor = UIColor.purpleColor()
self.view.addSubview(label3) // 让label显示html标签
let label4:UILabel = UILabel(frame: CGRect(x: , y: , width: , height: ))
let html = "this is html <a href=\"http://www.baidu.com\">跳</a>"
let data = html.dataUsingEncoding(NSUTF32StringEncoding, allowLossyConversion: false)
do{
let atext = try NSAttributedString(data: data!, options: [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType], documentAttributes: nil)
label4.attributedText = atext
}catch{
print(error)
}
label4.multipleTouchEnabled = true
self.view.addSubview(label4)
//设置多行文本
let label5:UILabel = UILabel(frame: CGRect(x: , y: , width: , height: ))
label5.backgroundColor = UIColor.yellowColor()
label5.text = "好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,好多好多文本,";
label5.lineBreakMode = NSLineBreakMode.ByTruncatingTail //换行模式
label5.numberOfLines =
label5.adjustsFontSizeToFitWidth = true //字号随框大小改变
self.view.addSubview(label5) } func labelOnclick(sender:AnyObject){
print("点击了label")
} override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }

UITextField+UISwitch+UISlider+UIimageView

 //
// ViewController.swift
// UITextField+UIImage
//
// Created by shaoting on 16/3/24.
// Copyright © 2016年 9elephas. All rights reserved.
//
// swift 控件学习篇
// UITextFiled
// UISwitch
// UISlider
// UIimageView
import UIKit class ViewController: UIViewController,UITextFieldDelegate {
var textField:UITextField!
var switch1:UISwitch!
var slider:UISlider!
var imageView:UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
makeTextField();
makeUISwitch();
makeSlide(); let btn = UIButton(frame: CGRect(x: , y: , width: , height: ))
btn.setTitle("复位", forState: .Normal);
btn.addTarget(self, action: Selector("recover:"), forControlEvents: UIControlEvents.AllEvents)
btn.backgroundColor = UIColor.redColor()
btn.tag =
self.view.addSubview(btn) imageView = UIImageView(frame: CGRect(x: , y: , width: , height: ))
imageView.image = UIImage(named: "stop")
self.view.addSubview(imageView);
// Do any additional setup after loading the view, typically from a nib.
} func makeSlide(){
slider = UISlider(frame: CGRect(x: , y: , width: , height: ))
slider.minimumValue = //最小值
slider.maximumValue = //最大值
slider.value = //默认值
slider.minimumValueImage = UIImage(named: "start") //最小值图片
slider.maximumValueImage = UIImage(named: "stop") //最大值图片
// slider.setMinimumTrackImage(UIImage(named: "left"), forState: UIControlState.Normal)//设置滑块左边的轨道图片
// slider.setMaximumTrackImage(UIImage(named: "right"), forState: UIControlState.Normal)//设置滑块右边的轨道图片
slider.setThumbImage(UIImage(named: "center"), forState: UIControlState.Normal)//设置滑块图片
slider.minimumTrackTintColor = UIColor.brownColor() //划过的轨道颜色
slider.maximumTrackTintColor = UIColor.yellowColor() //未划过的轨道颜色 self.view.addSubview(slider);
}
func recover(sender:UIButton){
slider.setValue(, animated: true)
} func makeUISwitch(){
switch1 = UISwitch(frame: CGRect(x: , y: , width: , height: ))
switch1.on = true //默认ON是否打开
switch1.tintColor = UIColor.redColor()
switch1.onTintColor = UIColor.yellowColor()
switch1.thumbTintColor = UIColor.blackColor()
switch1.addTarget(self, action: Selector("switchChane:"), forControlEvents: UIControlEvents.AllEvents)
self.view.addSubview(switch1)
}
func switchChane(senger:UISwitch){
if senger.on{
print("is ON")
}else{
print("is OFF")
}
} func makeTextField(){
textField = UITextField(frame: CGRect(x: , y: , width: self.view.frame.size.width-, height: ))
// textField.borderStyle = UITextBorderStyle.RoundedRect
textField.borderStyle = .Line //边框样式
textField.placeholder = "请输入内容" //占位符
textField.text = "username" //为textFiled设置默认文字
textField.delegate = self
textField.keyboardType = .EmailAddress //键盘类型
self.view.addSubview(textField)
}
//UITextFieldDelegate中的方法
func textFieldDidBeginEditing(textField: UITextField) {
print("开始编辑")
}
func textFieldDidEndEditing(textField: UITextField) {
print("结束编辑")
}
//点击return按钮隐藏键盘
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
//点击编辑框外部,隐藏键盘
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
textField.resignFirstResponder()
} override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }

源码下载地址:

UIButton+UILabel

http://download.csdn.net/detail/shaoting19910730/9471728

https://github.com/pheromone/UIButton-UILabel

UITextField+UISwitch+UISlider+UIimageView:

http://download.csdn.net/detail/shaoting19910730/9471731

https://github.com/pheromone/UITextField-UISwitch-UISlider-UIimageView

swift 学习网站

http://www.helloswift.com.cn/

swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider的更多相关文章

  1. swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...

  2. swift系统学习控件篇:UITableView+UICollectionView

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UITableView: // // ViewController.swift // UIt ...

  3. 一步一步学android之控件篇——ScrollView

    一个手机的屏幕大小是有限的,那么我要显示的东西显示不下怎么办?这就会使用到ScrollView来进行滚动显示,他的定义如下: 可以看到ScrollView是继承于FrameLayout的,所以Scro ...

  4. 基本控件文档-UILabel属性

    CHENYILONG Blog 基本控件文档-UILabel属性 Fullscreen UILabel属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http ...

  5. 用swift开发仪表盘控件(一)

    苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5tYW95b2 ...

  6. DevExpress学习系列(控件篇):GridControl的基本应用

    一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview ...

  7. WPF学习笔记 控件篇 属性整理【1】FrameworkElement

    最近在做WPF方面的内容,由于好多属性不太了解,经常想当然的设置,经常出现自己未意料的问题,所以感觉得梳理下. ps:先补下常用控件的类结构,免得乱了 .NET Framework 4.5 Using ...

  8. IOS开发之控件篇UITabBarControllor第一章 - 介绍

    UITabBarControllor的基本样子 官方有个图介绍这个TabBar的结构,我们先来看看这个结构图 --------------------------------------------- ...

  9. Swift - 生成各种控件的工厂类(包含标签,按钮,输入框等)

    在iOS开发中,页面里有时会大量的用到一些控件,如果要一个个单独创建再设置样式的话就显得很麻烦.我们可以创建一个生成各种控件的工厂类,这样在需要的时候调用下就可以了. 下面以一个自定义的工厂类为例,其 ...

随机推荐

  1. android 获取字符串的方法

    字符串数组可以在value文件夹中声明: 书写的内容是: 两者的读取方式略有不同: 如果是读取数字的话,  使用: context.getResources().getStringArray( R.a ...

  2. java操作数据库出现(][SQLServer 2000 Driver for JDBC]Error establishing socket.)的问题所在即解决办法

    在进行jdbc直接操作数据库时    : 我们需要对该工程进行一次导包(引入"msbase.jar" "mssqlserver.jar" "msuti ...

  3. 理解模数转换器的噪声、ENOB和有效分辨率

    ADC的主要趋势之一是分辨率越来越高.这一趋势影响各种应用,包括工厂自动化.温度检测和数据采集.对更高分辨率的需求正促使设计者从传统的12位逐次逼近寄存器(SAR)ADC转至分辨率高达24位的Δ-ΣA ...

  4. Android存储数据方式

    可以查看Android开发文档中的:/docs/guide/topics/data/data-storage.html Android provides several options for you ...

  5. php -l 检查文件是否语法错误

    有时候在进行网页开发的时候,后台文件的语法错误比较难检查出来,这时候使用php -l filename可对文件的语法进行检查.

  6. C#获取相对路径的方法

    这八种C#获取相对路径的方法,包括获取和设置当前目录的完全限定路径.获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称等等内容. C#获取相对路径1. 获取和设置当前目录的完全限定路径.   ...

  7. [转]Linux下用gcc/g++生成静态库和动态库(Z)

    Linux下用gcc/g++生成静态库和动态库(Z) 2012-07-24 16:45:10|  分类: linux |  标签:链接库  linux  g++  gcc  |举报|字号 订阅     ...

  8. PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  9. js获取浏览器的版本代码

    <script>function GetXmlHttpObject(){var xmlHttp=null;var httptype='';try { // Firefox, Opera 8 ...

  10. 【bzoj2281】[Sdoi2011]黑白棋

    博弈论---Nimk问题. dp再搞搞. 很容易看出,该游戏的终态是每两个棋子都紧靠着.当一颗棋子移动,另一方与该棋子对应的那一刻可以立即追上,使得仍旧紧靠,最终棋子动弹不得,游戏结束. 还能看出,对 ...