zoukankan      html  css  js  c++  java
  • iOS开发-UI (二)Button和Image

    知识点:

    1.UIButton使用和事件机制

    2.UIImage

    3.自定义UIButton

    ==================

    UIButton

       1.创建方式

         按钮类型

    UIButtonTypeCustom       用户自定义按钮

    UIButtonTypeRoundedRect      系统按钮

    UIButtonTypeDetailDisclosure   更多信息按钮   i

    UIButtonTypeInfoLight           高亮信息按钮   i

    UIButtonTypeInfoDark           暗色信息按钮   i

    UIButtonTypeContactAdd       加号按钮           +

    UIButton *b2 = [UIButton buttonWithType:UIButtonTypeCustom];

       2.设置按钮的标题

    -(void)setTitle:(NSString *)title forState:(UIControlState)state;

    [b setTitle:@"点击录音" forState:UIControlStateNormal];

    UIControlState:

    UIControlStateNormal     按钮一般状态

    UIControlStateHighlighted       按钮被按下(高亮)状态

    UIControlStateDisabled           按钮被禁用状态

    UIControlStateSelected           按钮被选中

    //正常状态

        [b setTitle:@"未选中" forState:UIControlStateNormal];

        //选中状态

        [b setTitle:@"选中" forState:UIControlStateSelected];

        //禁用状态

        [b setTitle:@"禁用" forState:UIControlStateDisabled];

    //非选中状态==NO

        //选中状态==YES

        //btn.selected = !btn.selected;

        

        //禁用

        btn.enabled = NO;

       3.设置按钮的颜色

    1)设置按钮颜色

    -(void)setTitleColor:(UIColor *)color forState:(UIControlState)state;

       4.事件处理

    1)iOS事件分类

      触控事件(单点、多点触控以及各种手势操作)

      传感器事件(重力、加速度传感器等)

      远程控制事件(远程遥控iOS设备多媒体播放等)

    2)添加事件

    -(void)addTarget:(id)target 

                      action:(SEL)action 

            forControlEvents:(UIControlEvents)controlEvents

    [b2 addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

    3)删除事件

    -(void)removeTarget:(id)target 

                         action:(SEL)action 

           forControlEvents:(UIControlEvents)controlEvents

       5.常用事件:UIControlEvents

    UIControlEventTouchDown              按钮按下

    UIControlEventTouchUpInside         按钮按下弹起

    UIControlEventTouchUpOutside     按钮按下,按钮外弹

    [b addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

    6.UIView标签:setTag

    view1.tag = 100;

     

    ==========================

    UIImage

          

    +(UIImage *)imageNamed:(NSString *)name;

    使用该方法的前提是图片必须已经存在与项目中,如果图片需要多次显示时使用(会消耗系统缓存 空间)

    UIImage *image1 = [UIImage imageNamed:@"3_normal"];

    +(UIImage *)UIImage imageWithContentsOfFile:(NSString *);

    使用此方法加载文件时,系统不把图像以数据的方式加载到程序中,

    如不需要复用该图像或者是一个很大的图像时推荐使用此方法

    UIImage *image2 = [UIImage imageWithContentsOfFile:filePath]

    获取项目中的资源路径

    NSString * path = [[NSBundle mainBundle] pathForResource:@"Logo" ofType:@"png"];

        NSString *filePath = [[NSBundle mainBundle] pathForResource:@"3_selected" ofType:@"png"];

    ==========================

    自定义UIButton

       1.图片按钮

    1)设置按钮背景图片

    -(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;

    //设置btn的背景图片 (正常状态)

        [b setBackgroundImage:image1 forState:UIControlStateNormal];

    2)设置按钮图片

    -(void)setImage:(UIImage *)image forState:(UIControlState)state;

    //设置btn显示的图片(正常状态)

        [b setImage:image1 forState:UIControlStateNormal];

        [b setImage:image2 forState:UIControlStateSelected];

        //设置btn显示的图片(高亮状态)

        [b setImage:image2 forState:UIControlStateHighlighted];

       2.实现过程

    1)buttonType类型为 UIButtonTypeCustom

    //实例化btn

        UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];

    2)设置图片:setImage:forState:image:图片的文件名

    UIImage *image1 = [UIImage imageNamed:@"3_normal"];

  • 相关阅读:
    ssh无密码登录设置
    Spark Standalone Mode 多机启动 -- 分布式计算系统spark学习(二)(更新一键启动slavers)
    Spark Standalone Mode 单机启动Spark -- 分布式计算系统spark学习(一)
    为golang程序使用pprof远程查看httpserver运行堆栈,cpu耗时等信息
    golang官方实现如何对httpserver做频率限制(最大连接数限制)
    【转】涨姿势了,数据库隔离性的几个级别
    loadRunner 11.0 安装及破解
    EF 如何code first
    百度搜索自动提示搜索相关内容----模拟实现
    如何写出专业级OOP程序-----文档注释
  • 原文地址:https://www.cnblogs.com/fcug/p/6291431.html
Copyright © 2011-2022 走看看