swift基础篇:iOS控件大拌菜:UILable UIButton UITextView

swift基础篇:iOS控件大拌菜:UILable UIButton UITextView,第1张

概述<span style="font-size:14px;">override func viewDidLoad() { super.viewDidLoad() let label1 = UILabel(frame: CGRectMake(10, 50, 300, 400)) label1.text = "swift"
<span >overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()                let label1 = UILabel(frame: CGRectMake(10,50,300,400))        label1.text = "swift"        // 背景颜色,字体颜色,对齐方式        label1.backgroundcolor = UIcolor.graycolor()        label1.textcolor = UIcolor.yellowcolor()        label1.textAlignment = NSTextAlignment.Center        // 文字大小自适应        label1.adjustsFontSizetoFitWIDth = true        // 设置最小能接受的缩放比例        label1.minimumScaleFactor = 0.8        // 设置行数 0表示行数不限        label1.numberOflines = 0        // 换行方式(按字母换行)        label1.lineBreakMode = .ByCharWrapPing        // 字体设置:系统字体的30号 正常,粗体,斜体;个性化字体        label1.Font = UIFont.systemFontOfSize(30)        label1.Font = UIFont.boldSystemFontOfSize(30)        label1.Font = UIFont.italicSystemFontOfSize(30)        label1.Font = UIFont(name: "Zapfino",size: 20)        // 通过如下方式可以获得系统支持的左右字体名称        print(UIFont.familynames())        // 阴影设置        label1.shadowcolor = UIcolor.lightGraycolor()        label1.shadowOffset = CGSizeMake(3,3)        self.vIEw.addSubvIEw(label1)    }</span>

如上为UILabel的设置方式

下面来说一说UIbutton

下面是一些基本的设置:

<span >@IBOutlet weak var button: UIbutton!    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        button.backgroundcolor = UIcolor.lightGraycolor()                // 另一种按钮的创建方式        let button1 = UIbutton(type: UIbuttonType.RoundedRect)        button1.layer.cornerRadius = 5        button1.frame = CGRectMake(10,44)        button1.backgroundcolor = UIcolor.lightGraycolor()        button1.setTitle("bello hello",forState: UIControlState.normal)        self.vIEw.addSubvIEw(button1)                // 设置按钮的文字和颜色 并且是在普通状态下的字        button.setTitlecolor(UIcolor.greencolor(),forState: UIControlState.normal)        button.setTitle("bello hello",forState: UIControlState.normal)        button.layer.cornerRadius = 5                // 设置按钮的字体和行数        button.TitleLabel?.Font = UIFont(name: "Zapfino",size: 30)        button.TitleLabel?.numberOflines = 0    }<span ></span></span>

接下来是按钮的状态:

有的按钮在吃饭,有的按钮在睡觉。。。噗,开玩笑的:

state:

1、normal:普通状态,此时木有与按钮进行任何交互

2、Highlighted:高亮状态,此时为按下按钮,但是木有离开按钮

3、Disabled:按钮不可用(大概是睡着了)

4、Selected:按钮选中时

栗子代码:

<span ><span >	</span>// 按钮状态        button.setTitlecolor(UIcolor.blackcolor(),forState: UIControlState.normal)        button.setTitlecolor(UIcolor.bluecolor(),forState: UIControlState.Highlighted)                button.setTitle("这时按钮无效",forState: UIControlState.Disabled)        button.enabled = false</span>

按钮的类型:栗子:

<span ><span >	</span>// 按钮的类型        let button2 = UIbutton(type: UIbuttonType.Detaildisclosure)        button2.frame = CGRectMake(10,100,44)        button2.setTitle("bello hello",forState: UIControlState.normal)        self.vIEw.addSubvIEw(button2)                        let button3 = UIbutton(type: UIbuttonType.InfoDark)        button3.frame = CGRectMake(10,150,44)        button3.setTitle("bello hello",forState: UIControlState.normal)        self.vIEw.addSubvIEw(button3)                        let button4 = UIbutton(type: UIbuttonType.ContactAdd)        button4.frame = CGRectMake(10,200,44)        button4.setTitle("bello hello",forState: UIControlState.normal)        self.vIEw.addSubvIEw(button4)</span>
效果是酱紫的:


还可以用图片给按钮设置背景:

方法名:setBackgroundImage

这种方式下图片会被拉伸以适应按钮

********************************

方法名:backgroundcolor

这种方式为图片的平铺

********************************

方法名:setimage

这种方式为图片的居中显示


在项目中使用图片,需要先将图片导入到工程中,然后在代码中加载图片,加载图片有两种方式:

1、UIImage(contentsOffile:图片路径)

2、UIImage(named:"图片名称")

第一种方式加载的图片不会一直保留在程序运行的活跃内存中,多用来加载大图

第二种方式加载的图片会一直留在内存中,多用于加载常用的小图标


如果使用UIbutton.System类型创建一个按钮,设置按钮图片时,图片会被纯色代替

<span >     var img = UIImage(named: "1")     img = img!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)</span>

以上是解决办法。


按钮事件类型:

常用的按钮能够响应的事件类型如下:

touchDown:在按钮范围内按下

touchDownRepeat:在按钮上连按两下

touchDragInsIDe:在按钮响应范围内滑动

touchDragOutsIDe:在按钮响应范围之外滑动(滑动的起点在按钮的外围内)

touchdragenter:从按钮的响应范围内滑出按钮,再次进入按钮的响应范围

touchDragExit:从按钮的响应范围内滑出按钮

touchUpInsIDe:在按钮的响应范围内抬起手指

touchUpOutsIDe:在按钮的响应范围外抬起手指

如上所有的响应事件类型想要触发都有一个前提,那就是能够被响应,即手指对于按钮的起始作用点一定是要在按钮的响应范围内

呼呼,按钮的东西好多,毕竟是一个很重要的控件~

下面来说UITextVIEw

单行文本框~

应用场景也很多,比如,登录注册的页面,输入用户名和密码的地方~就是它,是它是它就是它~

默认状态下,输入框的背景是透明的,而且木有边框,所以有时候我们看不到它~

说句题外话,包括做前端什么的时候,经常有那种,诶?代码明明有的啊,怎么木有 出现?调试一下就会发现,原来只是因为这家伙是透明的。。。所以,写代码的各位要细心~

言归正传了~

<span >        let tf = UITextFIEld(frame: CGRectMake(10,44))        // 边框,背景,字体颜色,字体,边框的设置        tf.borderStyle = UITextborderStyle.Bezel        tf.backgroundcolor = UIcolor.lightGraycolor()        tf.textcolor = UIcolor.bluecolor()        tf.Font = UIFont(name: "Zapfino",size: 10)        tf.borderStyle = UITextborderStyle.RoundedRect        // 提示字符        tf.placeholder = "兔几喜欢fu萝卜"        // 密码输入框,输入的密码会自动变成点点,不是坏掉了~        tf.secureTextEntry = true        // 对齐方式        tf.contentVerticalAlignment = .top        tf.textAlignment = NSTextAlignment.left        // 成为第一响应者,这时候,界面一出现,光标就被定位在该输入框中        tf.becomeFirstResponder()        // 取消第一响应者        tf.resignFirstResponder()        // 可以使用如下方法使得一个视图内所有的输入框都失去第一响应者        self.vIEw.endEditing(true)        // 文字的清除模式,在输入框输入的时候,右侧可以显示一个清除按钮        tf.clearbuttonMode = UITextFIEldviewmode.WhileEditing//只有当输入框处于第一响应者时才显示        tf.clearbuttonMode = UITextFIEldviewmode.UnlessEditing//只有当输入框处于第一响应者的时候隐藏        self.vIEw.addSubvIEw(tf)</span>

如上是UITextVIEw的常用属性~

另外,在使用输入框的时候,需要对键盘进行个性化设置,可以设置成英文,或者数字模式等等,如下是键盘风格的定义代码:

<span >public enum UIKeyboardType : Int {        case Default // Default type for the current input method.    case ASCIICapable // displays a keyboard which can enter ASCII characters,non-ASCII keyboards remain active    case NumbersAndPunctuation // Numbers and assorted punctuation.    case URL // A type optimized for URL entry (shows . / .com prominently).    case NumberPad // A number pad (0-9). Suitable for PIN entry.    case PhonePad // A phone pad (1-9,*,#,with letters under the numbers).    case namePhonePad // A type optimized for entering a person's name or phone number.    case EmailAddress // A type optimized for multiple email address entry (shows space @ . prominently).    @available(iOS 4.1,*)    case DecimalPad // A number pad with a decimal point.    @available(iOS 5.0,*)    case Twitter // A type optimized for twitter text entry (easy access to @ #)    @available(iOS 7.0,*)    case WebSearch // A default keyboard type with URL-orIEnted addition (shows space . prominently).        public static var Alphabet: UIKeyboardType { get } // Deprecated}</span>
使用方式如下:
<span >  tf.keyboardType = UIKeyboardType.EmailAddress</span>

另外,如果需要监控输入的内容,则需要使用UITextVIEw的代理方法来实现(UITextFeildDelegate)

<span > tf.delegate = self</span>
呼呼~这一篇差不多了,作为一只兔子要去蹦跶一会儿了~ 总结

以上是内存溢出为你收集整理的swift基础篇:iOS控件大拌菜:UILable UIButton UITextView全部内容,希望文章能够帮你解决swift基础篇:iOS控件大拌菜:UILable UIButton UITextView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存