<span style="font-size:14px;">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 style="font-size:14px;">@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 style="color:#3366ff;">
</span></span>

接下来是按钮的状态:

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

state:

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

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

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

4、Selected:按钮选中时

栗子代码:

<span style="font-size:14px;"><span style="white-space:pre">	</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 style="font-size:14px;"><span style="white-space:pre">	</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 style="font-size:14px;">     var img = UIImage(named: "1")
     img = img!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)</span>

以上是解决办法。


按钮事件类型:

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

TouchDown:在按钮范围内按下

TouchDownRepeat:在按钮上连按两下

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

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

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

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

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

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

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

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

下面来说UITextView

单行文本框~

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

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

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

言归正传了~

<span style="font-size:14px;">        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 style="font-size:14px;">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 style="font-size:14px;">  tf.keyboardType = UIKeyboardType.EmailAddress</span>

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

<span style="font-size:14px;"> tf.delegate = self</span>
呼呼~这一篇差不多了,作为一只兔子要去蹦跶一会儿了~

swift基础篇:iOS控件大拌菜:UILable UIButton UITextView的更多相关文章

  1. 使用Html5多媒体实现微信语音功能

    这篇文章主要介绍了使用Html5多媒体实现微信语音功能,需要的朋友可以参考下

  2. HTML5 canvas 瀑布流文字效果的示例代码

    这篇文章主要介绍了HTML5 canvas 瀑布流文字效果的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. HTML5 input新增type属性color颜色拾取器的实例代码

    type 属性规定 input 元素的类型。本文较详细的给大家介绍了HTML5 input新增type属性color颜色拾取器的实例代码,感兴趣的朋友跟随脚本之家小编一起看看吧

  4. amazeui模态框弹出后立马消失并刷新页面

    这篇文章主要介绍了amazeui模态框弹出后立马消失并刷新页面,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. 移动HTML5前端框架—MUI的使用

    这篇文章主要介绍了移动HTML5前端框架—MUI的使用的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  6. Html5自定义字体解决方法

    这篇文章主要介绍了Html5自定义字体解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  7. 吃透移动端 Html5 响应式布局

    这篇文章主要介绍了吃透移动端 Html5 响应式布局,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. AmazeUI 模态窗口的实现代码

    这篇文章主要介绍了AmazeUI 模态窗口的实现代码,代码简单易懂,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. ios – 如何通过编程方式为UIButtons组设置单个背景图像

    解决方法要使用选择器数组以编程方式创建按钮,您可以使用以下代码片段://定义策略

  10. ios – Reactive Cocoa – 以编程方式设置文本时不会调用UITextView的rac_textSignal

    我正在实现一个聊天UI,并使用ReactiveCocoa根据用户的类型调整聊天气泡的大小.目前,我正在基于textview的rac_textSignal更新UI的布局.一切都很好–除了一点:当用户发送消息时,我以编程方式清除文本字段:…我是否需要拥有一个持有currentTypedString的Nsstring,并在该字符串更新时驱动UI更改?

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部