• UIButton


        //UIButton->UIControl->UIView

        //UIControl 带有操作的控件都是继承于它的

     

        //UIButton  实例化  类方法实例化

        //实例化时没有位置及大小,需设置frame属性

        /*

         1UIButtonTypeSystem = UIButtonTypeRoundedRect  iOS7之前UIButtonTypeRoundedRect带有圆角效果,iOS7之后才没有的

         2UIButtonTypeInfoLight = UIButtonTypeInfoDark = UIButtonTypeDetailDisclosure 蓝色的圆圈i

         3UIButtonTypeContactAdd  蓝色的圆圈+

         */

        UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];

        //frame

        button.frame = CGRectMake(2010028040);

        //属性

        button.backgroundColor = [UIColor redColor];

        

        //按钮是否可用:    NO:不可用   YES:可用,默认状态

        button.enabled = YES;

        

        //设置文字:setTitle:forState:

        /*

         1UIControlStateNormal       一般状态

         2UIControlStateHighlighted  高亮状态

         3UIControlStateDisabled     禁用状态

         */

        [button setTitle:@"button" forState:UIControlStateNormal];

    //    [button setTitle:@"highlighted" forState:UIControlStateHighlighted];

        [button setTitle:@"disabled" forState:UIControlStateDisabled];

        

        //设置文字颜色:默认蓝色  setTitleColor:forState:

        [button setTitleColor:[UIColor blackColorforState:UIControlStateNormal];

        [button setTitleColor:[UIColor whiteColorforState:UIControlStateHighlighted];

        

        //设置文字大小:.titleLabel.font

        button.titleLabel.font = [UIFont systemFontOfSize:17.0];

        

        //文字对齐方式

        //水平方向:contentHorizontalAlignment

        /*

         1UIControlContentHorizontalAlignmentCenter  居中

         2UIControlContentHorizontalAlignmentLeft    左对齐

         3UIControlContentHorizontalAlignmentRight   右对齐

         */

        button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

        //垂直方向:contentVerticalAlignment

        /*

         1UIControlContentVerticalAlignmentBottom  下对齐

         2UIControlContentVerticalAlignmentCenter  居中

         3UIControlContentVerticalAlignmentTop     上对齐

         */

        button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

        

        //**按钮的点击事件**//

        /*

         1、第一个参数:按钮点击之后通知到谁:self

         2、第二个参数:按钮的事件:@selector(方法名字)

         3、第三个参数:按钮的点击方式

         */

        //按钮事件不带参数的样式

    //    [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];

        //按钮事件带参数的样式

        [button addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchUpInside];

        /*

         按钮的点击方式

         1UIControlEventTouchUpInside    里进里出

         2UIControlEventTouchUpOutside   里进外出

         3UIControlEventTouchDragInside  里进里拖拽

         4UIControlEventTouchDragOutside 里进外拖拽

         5UIControlEventTouchDragExit    里进拖拽出去

         6UIControlEventTouchDragEnter   里进拖拽出去再拽回去

         7UIControlEventTouchDown        单击

         8UIControlEventTouchDownRepeat  双击

         */

        

        //添加到父视图上

        [self.window addSubview:button];

     

    *************************************************

    #pragma mark - 按钮的点击事件

    //带参数的方法实现

    - (void)buttonDown:(UIButton *)button{

        NSLog(@"ddd");

        self.window.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0];

        

        //获取按钮的文字

        //currentTitle:如果按钮有高亮状态,直接获取到高亮状态下的文字,如果只存在nomal状态,获取nomal状态下的文字

        NSString *title = button.currentTitle;

        //.titleLabel.text:如果按钮的高亮状态在点击时没出来,获取nomal状态下的文字,如果高亮状态出来,获取高亮状态下的文字;如果按钮只存在nomal状态,获取nomal状态下的文字

        NSString *title2 = button.titleLabel.text;

        

        NSLog(@"currentTitle=%@;titleLabel=%@",title,title2);

    }

    //不带参数的方法实现

    - (void)buttonClick{

    //    arc4random() 随机数   arc4random()%256   随机:0-255

    //    arc4random_uniform(256)

        

        self.window.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0];

        

    }

  • 相关阅读:
    赛前一个月
    Barricade---hdu5889(最短路+网络流)
    Tea---hdu5881(规律)
    The Best Path---hdu5883(欧拉路径)
    Cure---hdu5879(打表+找规律)
    Python列表操作
    Zabbix在Docker中的应用和监控
    flannel网络设置
    Volume
    Service资源清单
  • 原文地址:https://www.cnblogs.com/hyuganatsu/p/UIButton.html
Copyright © 2020-2023  润新知