IOS项目笔记——按钮属性和代码添加

本文详细介绍了iOS开发中动态添加按钮的方法,并深入探讨了按钮的各种属性及其使用场景,包括不同类型的按钮样式、状态变化以及如何通过代码实现自定义按钮。同时,文章还分享了在代码中实现按钮圆角效果的技巧,以及如何导入相关包以支持这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学IOS不就,但是很荣欣的是很快就找到可工作,但是在工作中,会遇到很多不同的需求,在这里我也将做这个项目中遇到的问题在这里做一个梳理

  在项目中很多时候直接拉空间来实现页面是不现实的,所以很多时候都是要 用代码动态添加

   1、动态添加元素 

              (1)、添加一个按钮  和 按钮属性介绍

首先要知道按钮的集中风格:

       //    typedef enum {

06        UIButtonTypeCustom = 0,          自定义风格
07        UIButtonTypeRoundedRect,         圆角矩形
08        UIButtonTypeDetailDisclosure,    蓝色小箭头按钮,主要做详细说明用
09        UIButtonTypeInfoLight,           亮色感叹号
10        UIButtonTypeInfoDark,            暗色感叹号
11        UIButtonTypeContactAdd,          十字加号按钮
12    } UIButtonType;


/* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/

1    //以下是几种状态
2//    enum {
3//        UIControlStateNormal       = 0,         常规状态显现             
4//        UIControlStateHighlighted  = 1 << 0,    高亮状态显现   
5//        UIControlStateDisabled     = 1 << 1,    禁用的状态才会显现
6//        UIControlStateSelected     = 1 << 2,    选中状态             
7//        UIControlStateApplication  = 0x00FF0000, 当应用程序标志时           
8//        UIControlStateReserved     = 0xFF000000  为内部框架预留,可以不管他            
9//    };

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [btn setTitle:@"点击" forState:UIControlStateNormal];         //正常状态下按钮显示的字
    [btn setTitle:@"点击了" forState:UIControlStateHighlighted];  //按钮点击时显示的字
    
    btn.enabled = false;                                         //设置按钮是否可用
    [btn setTitle:@"禁用状态" forState:UIControlStateDisabled];    //按钮不可用的时候,显示的字
    
//    [btn setTitle:@"未知" forState:UIControlStateSelected];       //还没够明白
    
    CGRect rect = CGRectMake(100, 100, 100, 40);
    btn.frame = rect;    //或者是   btn.frame = CGRectMake(200, 100, 100, 40);
    
    [self.view addSubview:btn];

按钮还有很多其他的属性  比如:

             默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,那么可以去掉这个功能

btn.adjustsImageWhenHighlighted = NO;      

           默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置
btn.adjustsImageWhenDisabled = NO;

下面的这个属性设置为yes的状态下,按钮按下会发光*/
btn.showsTouchWhenHighlighted = YES;        //在圆角按钮上实现了效果,但是在自定义按钮上没有实现,不知道什么问题


当然在定义按钮的时候,可以直接开辟空间来定义按钮,这个时候,按钮是默认UIButtonTypeCustom风格

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
    [btn setTitle:@"看不见" forState:UIControlStateNormal];

    [self.view addSubview:btn];

在我们自定义风格按钮的时候,如果我们只有一张方形图,但是我们在代码中要实现按钮有一定的圆角,这个也是可以实现的,

需要注意的是:我们需要用到一个包 QuartzCore  在需要实现圆角自定义按钮的时候,需要先导入QuartzCore 这个包,然后在文件之前,声明

#import <QuartzCore/QuartzCore.h>

  然后在按钮定义里面实现以下代码就可以了

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
    //    btn.frame = CGRectMake(100, 100, 100, 50);
    [btn setImage:[UIImage imageNamed:@"按钮"] forState:UIControlStateNormal];
    [btn setImage:[UIImage imageNamed:@"按钮2"] forState:UIControlStateHighlighted];
    [btn.layer setMasksToBounds:YES];      //是都支持圆角
    [btn.layer setCornerRadius:8.0f];      //圆角大小
    [btn.layer setBorderWidth:1.0f];       //设置按钮外框大小
    [btn.layer setBorderColor:[[UIColor whiteColor] CGColor]];
    [self.view addSubview:btn];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值