zoukankan      html  css  js  c++  java
  • UIKit基础:17-基础控件的总结

    在前面, 我们基本上把UI的基础控件全部学完了, 剩下的就是大家熟练的去掌握这些基础控件, 现在我们来总结一下这些基础控件:



    1.UILabel——标签
    作用:显示文字
    属性:
    text属性:是label的文字
    alignment属性:对齐方式


    lines属性:如果为0,不限制行数,但是Label需要有足够大的空间显示内容


    Action:无



    2.UIImageView——图像视图

    作用:在一个区域内,显示图像。


    注意:UIImage是一个二进制的图像数据,而UIImageView是用来显示图像数据的区域


    属性:

    image属性:用于设置在图像视图中显示的图片, 要从bundle加载图像,可以使用[UIImage imageNamed:]方法。


    UIImageView本身可以做序列帧动画,要使用序列帧动画,我们需要指定三个属性:

    1>. animationsImages:序列帧图像数组

    2>. animationDuration:一组序列帧图片播放完成需要的时间

    3>. animationRepeatCount:序列帧动画重复的次数,默认为0,循环播放

    设置完UIImageView的动画属性之后,需要使用startAnimation方法启动动画,如果要停止动画,可以使用stopAnimation方法。

    另外,可以使用isAnimating属性,判断当前是否正在播放动画

    Action



    3. UIButton——按钮

    作用:用户交互的主要控件,有六种类型,其中自定义类型使用最为普遍

    属性:

    title属性:是按钮的文字

    titleColor属性:是按钮的颜色

    image属性:是按钮显示的图像


    提示:如果同时指定了imagetitle属性,当按钮空间不够时,image优先显示;另外,image属性在按钮中不会变形

    backgroundImage属性:是按钮的背景图片,注意,按钮的背景图片会根据按钮的实际大小拉伸,在使用背景图片时,

    尤其需要注意按钮的大小


    backgroundColor属性:按钮的背景颜色属性,仅在自定义类型的按钮有效


    使用技巧:通常在指定同一类型的按钮操作时,我们习惯用tag区分按钮,然后统一调用同一个方法


    注意:设置按钮属性的同时,需要指定属性应用的状态,通常使用Normal状态,Highlight是按钮长按下的状态


    ActionTouchUpInside




    4. UITextField——文本框控件

    作用:供用户输入或编辑文本

    属性:

    text属性:获得或设置文本框中的文字


    使用文本框控件时需要注意几项事情:

    1>. 在输入不同类型的文本时,需要注意键盘的类型,譬如输入QQ号要使用数字键盘。输入身份证号,需要自定义数字键盘或者默认打开数字的全键盘


    2>. 使用自定义数字键盘时,如果在越狱的机器上,可能会出现格式显示问题


    3>.如果界面上有多个文本框供用户输入时,要注意回车键的设置,实现文本框由上至下的切换,切换到最后一个文本框,再按回车键时,调用对应的确认按钮的方法


    4>. 需要注意关闭键盘,关闭键盘有两种方法:

    a).[self.viewendEditing:YES];

    b).[textField resignFirstResponder];

    撤销自身第一响应者的身份

    要获取键盘输入的焦点,可以设置textFieldbecomeFirstResponder属性,让文本框成为第一响应者即可。


    5>. 要监听文本框的回车事件,需要设置文本框的delegate,同时让视图控制器遵从<UITextFieldDelegate>协议


    以上四个控件主要应用在应用程序中。



    5.UISwitch——开关控件

    作用:设置某一个属性开或者关的状态

    属性:

    state属性:on/off


    使用isOn可以判断开关当前是否打开


    Action valueChanged



    6.UISlider——滑块控件

    作用:允许用户使用手指拖动滑块,产生数值变化的控件

    属性:

    minimumValue:滑块的最小数值

    maximumValue:滑块的最大数值

    value:滑块的当前数值


    需要注意的是:滑块没有步长,滑块数值通常是连续变化的,这样可以保证滑块动画的连续性,因此,我们在使用滑块时,需要格外留意是否有重复刷新的情况,例如照片查看器示例程序


    Action valueChanged



    7.UIStepper——计数器控件

    作用:用户点击“+”数值增加,点击“-”数值减少

    属性:

    minimumValue:滑块的最小数值

    maximumValue:滑块的最大数值

    value:滑块的当前数值

    stepValue:滑块数值变化的步长

    wraps:是否环绕,设置了环绕属性之后,当数值到达最大值时会回复到最小值,产生环绕效果。如果没有设置环绕属性,当到达最大值时,“+”会变灰禁止用户点击,当到达最小值时,“-”会变灰禁止用户点击


    Action valueChanged



    8. UISegmentControl——选项卡控件

    作用:用户同一时间只能选择一个选项,与开关不同,它可以设置多个选项供用户选择

    属性:

    selectedSegmentIndex属性:用户当前选中的选项卡索引,第一个选项卡索引对应的数值是0


    Action valueChanged


    以上四个控件主要应用在设置页面。



    9. UIView

    作用:

    a). 是一个容器,可以容纳任何的控件或者视图

    b). 所有的控件,最终均继承自UIView

    属性:

    继承类属性:

    superView:每一个UIView最多只能有一个父视图,注意:UIViewController的根视图没有父视图。

    subViews:当前视图所包含的子视图/控件

    位置大小类属性:

    frame:设置视图的边框

    bounds:设置视图的边界,用于指定视图的大小,常用于视图的子控件设置位置,因为bounds属性的原点,永远是(0,0)

    center:设置视图的中心点位置,通常用于指定视图的位置,在视图动画中比较常用


    注意:

    framecenter可以指定UIView的位置

    framebounds可以指定UIView的大小


    形变属性:

    transform:可以指定视图的平移、旋转和缩放属性


    CGAffineTransformRotateCGAffineTransformScaleCGAffineTransformTranslation三个函数用于基于UIView当前的形变属性继续变形

    CGAffineTransformMakeRotateCGAffineTransformMakeScaleCGAffineTransformMakeTranslation三个函数用于基于UIView初始的形变进行变形


    动画:

    UIView封装了三个块代码动画:

    [UIView animateWithDuration:animations:]

    [UIView animateWithDuration:animations:completion:]

    [UIView animateWithDuration: delay: options: animations: completion:]



    好了, UIKit的基础框架到此结束, 后面我们就会来接触高级控件.
  • 相关阅读:
    【NX二次开发】获取体是实体还是片体UF_MODL_ask_body_type()
    【creo】CREO5.0+VS2019配置(还没写完)
    【NX二次开发】导出x_t、导入x_t例子,UF_PS_export_data、UF_PS_import_data
    UG_PS Parasolid相关的操作
    【NX二次开发】创建老版的基准平面uf5374
    UnityShader之固定管线命令Combine纹理混合【Shader资料4】
    UnityShader之固定管线Fixed Function Shader【Shader资料3】
    UnityShader之Shader分类篇【Shader资料2】
    UnityShader之Shader格式篇【Shader资料1】
    Unity3D事件函数的执行顺序
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4333150.html
Copyright © 2011-2022 走看看