按钮  UIButton(没有例题)

1. 创建Button,并设置其位置,将其放在某个视图上
//  buttonWithType,用来设置button的类型
UIButton * button = [ UIButton    buttonWithType : UIButtonTypeSystem ];
button.frame = CGRectMake(0, 100, 320, 100);
[self.window addSubview:button]; //虽然window的 父类不是 UIView, 但它父类的父类是 UIView
[button removeFromSuperview];//删除button
// 【button的类型(枚举值)】(一般会用自定义风格(带图片的选自定义风格),系统风格比较丑啦)
//  typedef NS_ENUM(NSInteger, UIButtonType) {
//      UIButtonTypeCustom = 0,   // 自定义风格
//      UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0), //系统风格
//      UIButtonTypeDetailDisclosure,
//      UIButtonTypeInfoLight,
//      UIButtonTypeInfoDark,
//      UIButtonTypeContactAdd,  
//      UIButtonTypeRoundedRect = UIButtonTypeSystem,
//  };
2.设置button背景颜色
button.backgroundColor = [UIColor redColor];
3.设置button的title(一定要设置状态)
[button     setTitle : @" 按钮 "   forState : UIControlStateNormal ];
[button     setTitle : @" 被点击了 " forState: UIControlStateHighlighted ];
[button setTitle:@"被选择了" forState:UIControlStateSelected];
[button setTitle:@" 被禁用了 " forState: UIControlStateDisabled ];
//【button常用的四个状态】
// 正常状态;高亮状态;被选择的状态(调查,点会出来对勾);荒废状态,即被禁用的状态
//    UIControlStateNormal       = 0,        正常状态
//    UIControlStateHighlighted  = 1 << 0,    高亮状态
//    UIControlStateDisabled     = 1 << 1,   荒废状态
//    UIControlStateSelected     = 1 << 2,    被选择的状态
// 【注意下面这种写法,语法正确,但无法显示】
//button.titleLabel.text = @"123";//只设置了标题,但没有设置状态。可以获取到(可以打印打印),但手机屏幕没法显示出来
4.设置button的标题
//设置标题的内容
[button  setTitle:@"按钮"  forState:UIControlStateNormal];
// 设置字体的大小
button.titleLabel.font = [UIFont systemFontOfSize:10];
// 自定义风格时,设置标题颜色(需要设置状态)
[button     setTitleColor :[ UIColor redColor ]      forState : UIControlStateNormal ];
5.关于button的背景图片(自定义图片)
// 设置button在不同状态下的背景图片(图片铺满整个button
[button setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
// 设置 button 在不同状态下的图标(图片有多大就显示多大)
[button setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];// 默认图标放在中间
//【补充:当设置的是图标,并且想改变图标在button上的位置时】
//    【 设置图标的坐标】【设置button上title的位置坐标】都可以用下面的结构体
//    typedef struct UIEdgeInsets {
//        CGFloat top, left, bottom, right;
//    } UIEdgeInsets;
//    四个成员变量的值分别表示:距top、距left、距bottom、距right的距离增加多少。
//    UIEdgeInsets set = UIEdgeInsetsMake(10, 0, 0, 0);
//    [button setImageEdgeInsets:set];
//    [button setTitleEdgeInsets:set];
6.给button添加监听事件
//button监听到UIControlEventTouchUpInside(点击事件)的时候,给当前对象发送一个选择器中存放的消息。
//监听事件,执行buttonAction方法。(这里 buttonAction方法无参
[button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
// 监听事件,执行buttonAction方法。 (这里 buttonAction方法有参
// 传参时,因为是button在执行这个方法,所以默认把自己传过来
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
//【补充】
// 常用 事件的类型
// UIControlEventTouchDown                  只要点下去就执行(不会等到松手之后才触发)
// UIControlEventTouchDownRepeat     连击的次数大于一的时候执行
// UIControlEventTouchUpInside    完成一次点击(在里面点击,在里面松手),就执行
// UIControlEventTouchUpOutside    完成一次点击(在里面点击,并拖拽到外面再松手)
7.其他常用属性
button. selected = YES ; //button 设置为被选择的状态
button.enabled = NO;//button设置为被禁用状态
button.hidden = YES;// 隐藏 button
button.tag = 1000;//设置buttontag,以便从它所在的视图上获取
UIButton button = (UIButton *)[self.window viewWithTag:1000];//viewWithTag UIView的方法,通过tag值在子视图中查找视图
8.定时器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haiooh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值