侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Objective-C ---UIButton (梳理整理)

2024-05-09 星期四 / 0 评论 / 0 点赞 / 5 阅读 / 7863 字

UIButton 1.创建方式: UIButton*btn = [UIButton buttonWithType:<#(UIButtonType)#>]; 常用的按钮类型有: UIButtonType

UIButton

1.创建方式:
 UIButton*btn = [UIButton buttonWithType:<#(UIButtonType)#>];

常用的按钮类型有:
UIButtonTypeCustom(自定义,一般)

UIButtonTypeSystem(系统其他,很少)

其他类型

    UIButtonTypeDetailDisclosure,

    UIButtonTypeInfoLight,

    UIButtonTypeInfoDark,

    UIButtonTypeContactAdd,

    UIButtonTypeRoundedRect = UIButtonTypeSystem,

2.按钮的状态    继承 UIControl的属性

 UIControlStateNormal       = 0, 普通状态

    UIControlStateHighlighted  高亮状态  

    UIControlStateDisabled     不可用状态   

    UIControlStateSelected  被选中状态

3.按钮触发的事件  继承 UIControl的属性  下面是从系统头文件中拿出来的,两个经常用的事件已经被我圈黄

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.

    UIControlEventPrimaryActionTriggered NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 13,     // semantic action: for buttons, 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

4.特别注意

按钮应该加在 View 的属性 userInteractionEnabled(能否和用户交互属性) 是 YES的View上才有效果

5.应用实例

    UIButton*btn = [UIButton buttonWithType:UIButtonTypeCustom];

    //设置位置和大小

    btn.frame = CGRectMake(99, 99, 99, 99);

    //设置背景颜色

    btn.backgroundColor = [UIColor redColor];

    //添加点击时间(UIControlEventTouchUpInside放开时在按钮内 不知道怎么描述了都)

    [btn addTarget:self action:@selector(print:) forControlEvents:UIControlEventTouchUpInside];

    //设置title 参数一title  参数二 什么状态

    [btn setTitle:@"Normal" forState:UIControlStateNormal];

    [btn setTitle:@"Selected" forState:UIControlStateSelected];

    

    //设置标题颜色 Normal默认应用到其他状态

    [btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];

    

    //设置背景图片

    [btn setBackgroundImage:[UIImage imageNamed:@"normal"] forState:UIControlStateNormal];

    [btn setBackgroundImage:[UIImage imageNamed:@"selected"] forState:UIControlStateSelected];

    //设置图片 图片保持图片大小

//    [btn setImage:[UIImage imageNamed:@"normal"] forState:UIControlStateNormal];

//    [btn setImage:[UIImage imageNamed:@"selected"] forState:UIControlStateSelected];

    //设置标题偏移量

    [btn setTitleEdgeInsets:UIEdgeInsetsMake(120, 0, 0, 0)];

    

    //设置点击时是否闪光

    btn.showsTouchWhenHighlighted =YES;

    //设置不可用时是否用系统的自动调节

    btn.adjustsImageWhenDisabled = NO;

    //设置高亮时是否用系统的自动调节

    btn.adjustsImageWhenHighlighted = NO;

    //将按钮添加到self.view上

    [self.view addSubview:btn];

}

-(void)print:(UIButton*)btn{

//改变 按钮的选择状态

    btn.selected  = ! btn.selected;

//改变按钮的可用状态

//    btn.enabled = btn.enabled;

}

广告 广告

评论区