博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发-UI (二)Button和Image
阅读量:5269 次
发布时间:2019-06-14

本文共 2854 字,大约阅读时间需要 9 分钟。

 

知识点:

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"];

 

转载于:https://www.cnblogs.com/fcug/p/6291431.html

你可能感兴趣的文章
Magento开发文档(三):Magento控制器
查看>>
使用Docker官方的Django包【转】
查看>>
SuperSocket 学习
查看>>
给培训学校讲解ORM框架的课件
查看>>
此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
查看>>
性能调优攻略
查看>>
线段树模板讲解
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
docker overlay网络实现
查看>>
2019-8-5 考试总结
查看>>
jquery javascript 回到顶部功能
查看>>
JS中实现字符串和数组的相互转化
查看>>
用格式工厂将mts文件转换成其它格式flv,mpg失败
查看>>
web service和ejb的区别
查看>>
libhdfs配置使用
查看>>
Silverlight StoryboardManager 故事板管理类
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
ArcGIS Server Javascript 多图对比功能
查看>>