• iOS:UIButton按钮的详解


    UIButton的详细介绍:

    一、按钮具有的属性:

    @property(nonatomic,readonly) UIButtonType buttonType;  //按钮形状类型

    @property(nonatomic,readonly,retain) NSString *currentTitle;    //按钮当前文字

    @property(nonatomic,readonly,retain) UIColor  *currentTitleColor;     //按钮当前文字颜色

    @property(nonatomic,readonly,retain) UIColor  *currentTitleShadowColor;  //按钮文字当前阴影颜色

    @property(nonatomic,readonly,retain) UIImage  *currentImage;             //按钮当前前景图片

    @property(nonatomic,readonly,retain) UIImage  *currentBackgroundImage;    //按钮当前背景图片

    @property(nonatomic,readonly,retain) NSAttributedString *currentAttributedTitle //按钮文字当前属性

    @property(nonatomic,readonly,retain) UILabel     *titleLabel    //按钮标签

    @property(nonatomic,readonly,retain) UIImageView *imageView  //按钮视图

    @property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;    //按钮垂直放置方式

    @property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment; //按钮水平放置方式

    @property(nonatomic,readonly) UIControlState  //按钮状态类型

    二、设置按钮的属性值

    - (void)setTitle:(NSString *)title forState:(UIControlState)state;   //设置按钮文字内容

    - (void)setTitleColor:(UIColor *)color forState:(UIControlState)state  //设置按钮文字颜色

    - (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state  //设置按钮文字阴影颜色

    - (void)setImage:(UIImage *)image forState:(UIControlState)state;   //设置按钮前景图片 

    - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state  //设置按钮背景图片

    - (void)setAttributedTitle:(NSAttributedString *)title forState:(UIControlState)state  //设置按钮文字属性

    三、按钮的状态类型

    按钮类型UIControlState:

        UIControlStateNormal          //正常类型

        UIControlStateHighlighted    //高亮类型            

        UIControlStateDisabled       //禁用类型

        UIControlStateSelected       //选中类型   

        UIControlStateApplication   //当应用程序标识使用时        

        UIControlStateReserved      //为框架预留的

    四、设置按钮形状类型

    1.     self.loginBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
    2.      buttonWithType:  定义button按钮的外形 
    3.      六种定义button类型: 下面有图解 
    4.      UIButtonTypeCustom = 0,    无类型 
    5.      UIButtonTypeRoundedRect,    四个角是圆弧   型的 
    6.      UIButtonTypeDetailDisclosure, 
    7.      UIButtonTypeInfoLight, 
    8.      UIButtonTypeInfoDark, 
    9.      UIButtonTypeContactAdd,

    或者:

        [Btn.layer setMasksToBounds:YES];
        [Btn.layer setCornerRadius:8.0]; //设置矩圆角半径
        [Btn.layer setBorderWidth:1.0];   //边框宽度
        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
        CGColorRef colorref = CGColorCreate(colorSpace,(CGFloat[]){ 1, 0, 0, 1 });
        [Btn.layer setBorderColor:colorref];//边框颜色

    五、获取按钮的属性      

    - (NSString *)titleForState:(UIControlState)state;      //获取按钮文字    

    - (UIColor *)titleColorForState:(UIControlState)state;  //获取按钮文字颜色

    - (UIColor *)titleShadowColorForState:(UIControlState)state; //获取按钮文字阴影颜色

    - (UIImage *)imageForState:(UIControlState)state; //获取按钮前景图片

    - (UIImage *)backgroundImageForState:(UIControlState)state; //获取按钮背景图片

    - (NSAttributedString *)attributedTitleForState:(UIControlState)state; //获取按钮文字属性

    六、按钮文字放置方式

       垂直放置:

        UIControlContentVerticalAlignmentCenter   //居中

        UIControlContentVerticalAlignmentTop       //置顶

        UIControlContentVerticalAlignmentBottom   //置底

        UIControlContentVerticalAlignmentFill        //填充

       水平放置:

        UIControlContentHorizontalAlignmentCenter  //居中

        UIControlContentHorizontalAlignmentLeft     //居左

        UIControlContentHorizontalAlignmentRight   //居右

        UIControlContentHorizontalAlignmentFill      //填充

    说明:

    (1) 由于按钮有状态类型之分,所以,在给按钮添加文字时,使用button.TitleLabel.Text = @“按钮”这种赋值方式是无效的,在视图中不会显示出来,应该使用[button setTitle:(NSString *)title forState:(UIControlState)

    state]这种方式才是有效地。同样设置文字的颜色也是如此:

    设置UIButton上字体的颜色设置UIButton上字体的颜色,不是用:

    [btn.titleLabel setTextColor:[UIColorblackColor]];

    btn.titleLabel.textColor=[UIColor redColor];

    而是用:

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

     (2)获取按钮的文字,应该使用[button currentTitle],如果使用button.titleLabel.Text,其结果并不是你设置的文字内容。同样获取文字的颜色也是如此.[button currentTitleColor]

    (3)设置按钮上的字体的大小

     [button setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在     将来的SDK版本中去除改方法

            button.titleLabel.font = [UIFont fontWithName:(NSString*)fontName size:14.0]; //应该使用

    或者 

           button.TitleLabel.font = [UIFont systemFontOfSize: 14.0];    //应该使用

    (4) 有些时候我们想让UIButton的title居左对齐

    button.textLabel.textAlignment = UITextAlignmentLeft  //是没有作用的,我们需要设置

    button.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft; //显示居左

    但是问题又出来,文字会紧贴到做边框,我们可以设置使文字距离左边框保持10个像素的距离。

    button.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);

  • 相关阅读:
    【笔记】模电lesson04 晶体管
    [笔记]模电如何判断和识别二极管的正负极
    [笔记]模电用数字万用表判断三极管管脚
    【笔记】模电lesson06 放大电路分析方法I
    【笔记】模电lesson07 放大电路分析方法II
    【翻译】在Verilog设计中使用参数化模块库(Quartus II)(Verilog)
    【原创】DE2实验练习解答—lab5 Clocks and Timers 【Verilog】【Digital Logic】
    【笔记】模电lesson 02 常用半导体器件
    【翻译】modelsim指南 I 之基本仿真(digital logic)
    【原创】DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2)
  • 原文地址:https://www.cnblogs.com/daxiong520/p/4915972.html
Copyright © 2020-2023  润新知