• iOS学习-UIButton


      1 //
      2 //  ViewController.m
      3 //  UIButton详解
      4 //
      5 //  Created by 大欢 on 16/1/21.
      6 //  Copyright © 2016年 bjsxt. All rights reserved.
      7 //
      8 
      9 #import "ViewController.h"
     10 
     11 @interface ViewController ()
     12 
     13 @end
     14 
     15 @implementation ViewController
     16 
     17 - (void)viewDidLoad {
     18     [super viewDidLoad];
     19 
     20 //    UIButton * btn = [[UIButton alloc] init];//custom类型,一般不使用
     21     
     22     //UIButtonTypeSystem 只能得到图片的轮廓,不能得到纹理
     23     UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
     24     //不能这么设置按钮颜色
     25 //    btn.titleLabel.text = @"123";
     26     /*
     27      
     28      ypedef NS_OPTIONS(NSUInteger, UIControlState) {
     29      UIControlStateNormal       = 0,                // 常规状态显现
     30      UIControlStateHighlighted  = 1 << 0,      // 高亮状态显现
     31      UIControlStateDisabled     = 1 << 1,        // 禁用的状态才会显现
     32      UIControlStateSelected     = 1 << 2,         //  选中状态
     33      UIControlStateApplication  = 0x00FF0000,   // 当应用程序标志时
     34      UIControlStateReserved     = 0xFF000000     //为内部框架预留
     35      // 后两个可以不管他
     36      };
     37      */
     38     
     39     
     40     [btn setTitle:@"正常按钮" forState:UIControlStateNormal];
     41     [btn setTitle:@"高亮状态" forState:UIControlStateHighlighted];
     42     
     43     [btn setTitle:@"禁用状态" forState:UIControlStateDisabled];
     44     [btn setTitle:@"选中状态" forState:UIControlStateSelected];
     45     
     46     
     47     [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
     48     [btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
     49     [btn setTitleColor:[UIColor greenColor] forState:UIControlStateDisabled];
     50     [btn setTitleColor:[UIColor magentaColor] forState:UIControlStateSelected];
     51     
     52     [btn setImage:[UIImage imageNamed:@"apply_sex_normal"] forState:UIControlStateNormal];
     53     [btn setImage:[UIImage imageNamed:@"apply_sex_selected"] forState:UIControlStateSelected];
     54     
     55     [btn setBackgroundImage:[UIImage imageNamed:@"beijing"] forState:UIControlStateSelected];
     56     
     57     btn.backgroundColor = [UIColor grayColor];
     58     //设置字体
     59     btn.titleLabel.font = [UIFont systemFontOfSize:20];
     60     
     61 //    NSDictionary * dict = @{NSFontAttributeName:[UIFont systemFontOfSize:30]};
     62 //    NSAttributedString * att = [[NSAttributedString alloc] initWithString:@"Attributed" attributes:dict];
     63 //    
     64 //    [btn setAttributedTitle:att forState:UIControlStateNormal];
     65     
     66     //tintColor只有在systemtype时有效,tintColor是子视图及以上视图的颜色。
     67 //    btn.tintColor = [UIColor orangeColor];
     68     
     69     //开启禁用状态
     70 //    btn.enabled = NO;
     71     
     72     //开启选中状态
     73 //    btn.selected = YES;
     74     /*
     75      
     76      iOS UIButton事件:
     77      UIControlEventTouchDown
     78      单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
     79      UIControlEventTouchDownRepeat
     80      多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。
     81      UIControlEventTouchDragInside
     82      当一次触摸在控件窗口内拖动时。
     83      UIControlEventTouchDragOutside
     84      当一次触摸在控件窗口之外拖动时。
     85      UIControlEventTouchDragEnter
     86      当一次触摸从控件窗口之外拖动到内部时。
     87      UIControlEventTouchDragExit
     88      当一次触摸从控件窗口内部拖动到外部时。
     89      UIControlEventTouchUpInside
     90      所有在控件之内触摸抬起事件。
     91      UIControlEventTouchUpOutside
     92      所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
     93      UIControlEventTouchCancel
     94      所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
     95      UIControlEventTouchChanged
     96      当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
     97      UIControlEventEditingDidBegin
     98      当文本控件中开始编辑时发送通知。
     99      UIControlEventEditingChanged
    100      当文本控件中的文本被改变时发送通知。
    101      UIControlEventEditingDidEnd
    102      当文本控件中编辑结束时发送通知。
    103      UIControlEventEditingDidOnExit
    104      当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
    105      UIControlEventAlltouchEvents
    106      通知所有触摸事件。
    107      UIControlEventAllEditingEvents
    108      通知所有关于文本编辑的事件。
    109      UIControlEventAllEvents
    110      通知所有事件。
    111 
    112      
    113      */
    114     //添加响应事件
    115     [btn addTarget:self action:@selector(doAction:) forControlEvents:UIControlEventTouchUpInside];
    116     
    117 //    [btn removeTarget:self action:@selector(doAction:) forControlEvents:UIControlEventTouchUpInside];
    118 
    119     
    120 //    [btn addTarget:self action:@selector(doAction2) forControlEvents:UIControlEventTouchUpOutside];
    121 //    [btn addTarget:self action:@selector(doAction3) forControlEvents:UIControlEventAllTouchEvents];
    122     
    123     
    124 //    btn.contentEdgeInsets = UIEdgeInsetsMake(50, 50, 50, 50);
    125     btn.titleEdgeInsets = UIEdgeInsetsMake(50, 0, 0, 100);
    126     btn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
    127 
    128     //点击按钮有光照效果
    129 //    btn.showsTouchWhenHighlighted = YES;
    130     //高亮状态按钮颜色是否变深
    131     btn.adjustsImageWhenHighlighted = NO;
    132     
    133     btn.frame = CGRectMake(100, 100, 200, 200);
    134     [self.view addSubview:btn];
    135 
    136     
    137 }
    138 
    139 //target - Action
    140 
    141 - (void)doAction:(UIButton *)button {
    142     
    143     NSLog(@"%@",button);
    144     
    145     button.selected = !button.selected;
    146     
    147 }
    148 
    149 - (void)doAction2 {
    150     
    151     NSLog(@"%s",__FUNCTION__);
    152 
    153 }
    154 - (void)doAction3 {
    155     NSLog(@"%s",__FUNCTION__);
    156 
    157 }
    158 
    159 @end
  • 相关阅读:
    Java——Math,Set,List,map相关练习
    Java——单例模式、多线程
    Java——I/O入门相关练习代码
    Java——I/O相关练习代码
    Java——序列化与反序列化
    python-selenium-粘贴,删除,复制和悬停
    Typora图床设置(阿里云版,图片自动上传)
    图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)
    openresty的安装和使用
    工具丨超好用的免费AWR分析工具
  • 原文地址:https://www.cnblogs.com/MrWuYindi/p/5157242.html
Copyright © 2020-2023  润新知