iOS学习笔记(七)——UI基础UIButton
来源:互联网 发布:淘宝店宝贝描述 编辑:程序博客网 时间:2024/04/23 19:41
iOS中提供了UIButton、UILable、UITextField、UIImageView等基础UI控件,继承于UIView。这里先拿UIButton练练手,为什么拿UIButton呢,因为UIbutton继承自UIControl,UIControl派生自UIView类,每个控件都有很多视图的特性,包括附着于其他视图的能力,所有控件都拥有一套共同的属性和方法,包含显示内容,点击事件等等,UIControl的子类都有事件处理能力。
图、UIControl
UIButton的定义:
UIButton可使用 initWithFrame、buttonWithType两种方式创建:
1)initWithFrame
- UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(60, 60, 200, 60)];
- btn.backgroundColor=[UIColor greenColor];
- [btn setTitle:@"btn1" forState:UIControlStateNormal];
- [self.view addSubview:btn];
2)buttonWithType
- UIButton *btn2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
- CGRect rect=CGRectMake(60, 160, 200, 60);
- btn2.frame=rect;
- btn2.tag=1001;
- btn2.backgroundColor=[UIColor colorWithRed:30/255.0 green:200/255.0 blue:125/255.0 alpha:1.0];
- [btn2 setTitle:@"btn2" forState:UIControlStateNormal];
- [btn2 addTarget:self action:@selector(btn2Pressed) forControlEvents:UIControlEventTouchDown];
- [self.view addSubview:btn2];
- -(void)btn2Pressed{
- NSLog(@"button pressed");
- }
UIButtonType:
- typedef enum {
- UIButtonTypeCustom = 0, // no button type 自定义,无风格
- UIButtonTypeRoundedRect, // rounded rect, flat white button, like in address card 白色圆角矩形,类似偏好设置表格单元或者地址簿卡片
- UIButtonTypeDetailDisclosure,//蓝色的披露按钮,可放在任何文字旁
- UIButtonTypeInfoLight,//微件(widget)使用的小圆圈信息按钮,可以放在任何文字旁
- UIButtonTypeInfoDark,//白色背景下使用的深色圆圈信息按钮
- UIButtonTypeContactAdd,//蓝色加号(+)按钮,可以放在任何文字旁
- } UIButtonType;
UIButton常用属性:
//设置对应状态的标题内容default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
//设置对应状态的标题颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的标题阴影颜色
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的按钮的图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
//设置对应状态的按钮背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
UIButton的UIControlState :
- typedef NS_OPTIONS(NSUInteger, UIControlState) {
- UIControlStateNormal = 0,
- UIControlStateHighlighted = 1 << 0, // used when UIControl isHighlighted is set
- UIControlStateDisabled = 1 << 1,
- UIControlStateSelected = 1 << 2, // flag usable by app (see below)
- UIControlStateApplication = 0x00FF0000, // additional flags available for application use
- UIControlStateReserved = 0xFF000000 // flags reserved for internal framework use
- };
更多属性可参考官方文档。
UIButton添加事件:
- [btn addTarget:<#(id)#> action:<#(SEL)#> forControlEvents:<#(UIControlEvents)#>]
这些事件都是基于触摸、基于值、基于编辑。可相应如下事件。
- typedef NS_OPTIONS(NSUInteger, UIControlEvents) {
- UIControlEventTouchDown = 1 << 0, // on all touch downs
- UIControlEventTouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1)
- UIControlEventTouchDragInside = 1 << 2,
- UIControlEventTouchDragOutside = 1 << 3,
- UIControlEventTouchDragEnter = 1 << 4,
- UIControlEventTouchDragExit = 1 << 5,
- UIControlEventTouchUpInside = 1 << 6,
- UIControlEventTouchUpOutside = 1 << 7,
- UIControlEventTouchCancel = 1 << 8,
- UIControlEventValueChanged = 1 << 12, // sliders, etc.
- UIControlEventEditingDidBegin = 1 << 16, // UITextField
- UIControlEventEditingChanged = 1 << 17,
- UIControlEventEditingDidEnd = 1 << 18,
- UIControlEventEditingDidEndOnExit = 1 << 19, // 'return key' ending editing
- UIControlEventAllTouchEvents = 0x00000FFF, // for touch events
- UIControlEventAllEditingEvents = 0x000F0000, // for UITextField
- UIControlEventApplicationReserved = 0x0F000000, // range available for application use
- UIControlEventSystemReserved = 0xF0000000, // range reserved for internal framework use
- UIControlEventAllEvents = 0xFFFFFFFF
- };
参考:
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIButton_Class/UIButton/UIButton.html
一、UIKit结构图
- iOS学习笔记(七)——UI基础UIButton
- iOS学习笔记(七)——UI基础UIButton
- iOS UI学习笔记(四)UIButton
- IOS ui基础 uibutton
- IOS入门学习笔记(普通UI控件--UIButton)
- iOS UI篇 学习笔记 UIButton,UIImageView
- UI基础学习之(五):UIButton
- 【iOS】UI基础Day3-笔记(UIButton、购物车综合案例)
- iOS开发笔记-UI-UIButton
- iOS学习UI之UIButton
- iOS之UI学习-UIButton
- IOS学习笔记UIButton
- iOS开发之UI篇(7)—— UIButton
- iOS系列UI篇——UIButton
- IOS学习笔记(五)——UI基础UIWindow、UIView
- IOS学习笔记(五)——UI基础UIWindow、UIView
- iOS笔记UI--汤姆猫小项目(UIbutton使用)
- IOS学习——UIButton
- MySQL字符编码:如何从utf8升级到utf8mb4
- 关于远程调用实现的必要技术
- Java 加解密技术系列之 MD5
- Servlet3.0 服务端推技术实例
- android handler理解+使用方法
- iOS学习笔记(七)——UI基础UIButton
- Linux下停止tomcat
- C3P0连接池详解及配置
- 【备忘】spring包的下载方式
- android 4.0以上WebView不能全屏播放视频的解决办法
- dp(Codeforces Round #293 (Div. 2)D. Ilya and Escalator)
- 新手上路之Hibernate(一):第一个Hibernate例子
- IOS静态库的制作和合并
- UVA 138(数论)