• iOS开发UI之UIButton的基本使用


    一. 继承关系:

    UIButton --> UIControl --> UIView


    二. 什么是按钮

    UIButton既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置


    三. UIButton的状态

    • UIControlStateNormal : 默认状况

    • UIControlStateHighlighted : 高亮状态(按钮被按下去的时候,既为手指还未松开)

    • UIControlStateDisabled : 失效状态,不可用状态

      如果enable = NO,处于disable状态,代表按钮不可以被点击

    四. 按钮的样式

    Ø UIButtonTypeCustom:无类型,按钮的内容需要自定义

    Ø UIButtonTypeSystem:

    Ø UIButtonTypeDetailDisclosure:

    Ø UIButtonTypeInfoLight:

    Ø UIButtonTypeInfoDark:详情按钮

    1.1. 创建按钮

    1. UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeCustom];

    2. 设置按钮上的图片(按钮上的图片分状态,设置图片时必须告诉系统文字在按钮的什么状态下显示)

    1. // 设置默认状态下的图片
    2. [addBtn setImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
    3. // 设置高亮状态下的图片
    4. [addBtn setImage:[UIImage imageNamed:@"add_highlighted"] forState:UIControlStateHighlighted];
    5. // 设置不可点击时的图片
    6. [addBtn setImage:[UIImage imageNamed:@"add_disabled"] forState:UIControlStateDisabled];

    3. 设置图片对齐方式

    1. btn.imageView.contentMode = UIViewContentModeScaleAspectFit;

    4. 设置背景色

    1. btn.backgroundColor = [UIColor purpleColor];

    5. 设置按钮的背景图片

    1. [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
    2. [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted];

    6. 设置文字(按钮上的文字分状态,设置文字时必须告诉系统文字在按钮的什么状态下显示)

    1. [btn setTitle:@"普通按钮" forState:UIControlStateNormal];
    2. [btn setTitle:@"高亮按钮" forState:UIControlStateHighlighted];

    7. 设置文字颜色

    1. [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    2. [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

    8. 设置文字大小

    1. btn.titleLabel.font = [UIFont systemFontOfSize:20];

    9. 设置文字的颜色

    1. [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    2. [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

    10. 设置文字的大小

    1. btn.titleLabel.font = [UIFont systemFontOfSize:20];

    11. 监听按钮

    1. [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchDown];

    12. 将按钮添加到View上

    1. [self.view addSubview:btn];

    13. 获取按钮上的文字

    1. [self.addBtn titleForState:UIControlStateNormal];

    14. 获得按钮的文字颜色

    1. [self.addBtn titleColorForState:UIControlStateNormal];

    15. 获得按钮内部的小图片

    1. [self.addBtn imageForState:UIControlStateNormal];

    16.获得按钮的背景图片

    1. [self.addBtn backgroundImageForState:UIControlStateNormal];

    17.内边距设置

    1. // 设置按钮内边距
    2. self.btn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 10);
    3. self.btn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

    五. UIButton/UIImageView/UILabel的选择

    uUIButton

    u特点

    -既能显示文字,又能显示图片(能显示2张图片,背景图片、内容图片)

    -长按高亮的时候可以切换图片文字

    -直接通过addTarget...方法监听点击

    uUIImageView

    -能显示图片,不能直接通过addTarget...方法监听点击

    uUILabel

    -能显示文字,不能直接通过addTarget...方法监听点击

    u选择

    u仅仅是显示数据,不需要点击

    -建议选择UIImageView、UILabel


    u不仅显示数据,还需要监听点击

    -建议选择UIButton

    -其实UIImageView、UILabel也可以通过手势识别器来监听(后面课程会学)


    u长按控件后,会改变显示的内容

    -不用考虑了,选择UIButton(因为UIButton有highlighted这种状态)


    u同时显示2张图片:背景图片、内容图片

    -不用考虑了,选择UIButton






  • 相关阅读:
    错误 : 资产文件“项目objproject.assets.json”没有“.NETCoreApp,Version=v2.0”的目标。确保已运行还原,且“netcoreapp2.0”已包含在项目的 TargetFrameworks 中。
    .NET core RSA帮助类
    vs2010单步调试崩溃
    常用排序算法比较与分析
    js原生的轮播图
    vue-cli脚手架使用-- 初学者
    vue-cli配置基础
    jq轮播图插件
    bootstrap 获得轮播中的索引或当前活动的焦点对象
    jQuery学习笔记之Ajax用法详解
  • 原文地址:https://www.cnblogs.com/Xfsrn/p/4842420.html
Copyright © 2020-2023  润新知