首页 > 代码库 > [iOS基础控件 - 2] 按钮的基本使用

[iOS基础控件 - 2] 按钮的基本使用

UIButton
A.素材准备
1.图片素材放置到Images.xcassets中
 
 
B.按钮状态
1.normal:默认状态 Default
对应的枚举常量:UIControlStateNormal
 
2.highlighted(高亮状态)
按钮被按下去的时候(未松开)
对应的枚举常量:UIControlStateHighlighted
 
3.disabled(失效状态,不可用状态)
如果enable属性为NO,就是处于disabled状态,代表按钮不可被点击
对应的枚举常量:UIControlStateDisabled
 
 
C.按钮属性
Type:更改为Custom,消除按下按钮时背景的透明效果
State Config:选择按钮状态,进而设置不同状态下按钮的其他属性
 
D.autolayout 自动布局
autolayout会干扰手动布局编码的运行
 
E.使用tag标记组合多个按钮使用一个方法
 1 - (IBAction)move:(UIButton *) sender { 2     CGRect tempFrame = self.head.frame; 3     4     CGFloat delta = 10; 5     switch (sender.tag) { 6         case 1: 7         { 8             tempFrame.origin.y -= delta; 9             break;10         }11         case 2:12         {13             tempFrame.origin.x += delta;14             break;15         }16         case 3:17         {18             tempFrame.origin.y += delta;19             break;20         }21         case 4:22         {23             tempFrame.origin.x -= delta;24             break;25         }26         default:27             break;28     }29    30     self.head.frame = tempFrame;31 }
 
F.使用center和bounds修改位置、尺寸
使用center改变位置,效果和使用frame差不多
使用bounds改变尺寸,能以中心为基点改变尺寸
 
G.位置移动动画
    // 开始动画
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
(位置改变代码)...
    // 提交动画
    [UIView commitAnimations];
 
 
H.手动编码创建按钮
        // 1.创建一个自定义的按钮
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
       
        // 2.添加图片
        [button setImage:[UIImage imageNamed:imageName] forState:state];
       
        // 3.设置尺寸、位置
        button.frame = rect;
       
        // 4.设置tag, tag最好不要用0,因为默认所有都是0,会出现混乱错误,使用viewWithTag:0得到的是当前控件,不是子控件
        button.tag = [[buttonDic objectForKey:@"tag"] intValue];
       
        // 5.监听按钮点击
        [button addTarget:self action:@selector(moveImage:) forControlEvents:UIControlEventTouchUpInside];
       
        // 6.添加按钮
        [self.view addSubview:button];
 
 
 
 

[iOS基础控件 - 2] 按钮的基本使用