iOS 循环创建按钮(单行和多行)

iOS 循环创建按钮(单行和多行),第1张

创建单行的按钮

CGFloatStart_X    =    15.0f    // 第一个按钮的X坐标

    CGFloatStart_Y        =  _password.frame.origin.y+_password.frame.size.height+35    // 第一个按钮的Y坐标

    CGFloatWidth_Space    =  15.0f    // 2个按钮之间的横间距

    CGFloatButton_Height  =35.0f    // 高

    CGFloatButton_Width  = (loginView.frame.size.width-45)/2  // 宽

    NSArray* titleArray =@[@"取消",@"登录"]

    for ( int i =0i <2i++) {

        // 圆角按钮

        UIButton* Button = [[UIButtonalloc]init]

        Button.tag= i//这句话不写等于废了

        Button.frame=CGRectMake(i * (Button_Width + Width_Space) + Start_X,  Start_Y, Button_Width, Button_Height)

        Button.layer.masksToBounds= YES

        Button.layer.cornerRadius=5

        [ButtonsetTitle:titleArray[i]forState:UIControlStateNormal]

        if (i==0) {

            Button.backgroundColor= [UIColorcolorWithRed:148.0/255.0green:148.0/255.0blue:148.0/255.0alpha:1]

        } else {

         Button.backgroundColor= [UIColorcolorWithRed:79.0/255.0green:139.0/255.0blue:244.0/255.0alpha:1]

        }

        [ButtonaddTarget: self action: @selector (ButtonAction:)forControlEvents:UIControlEventTouchUpInside]

        [loginViewaddSubview:Button]

    }

多行多列的按钮

CGFloatStart_X  =15.0f    // 第一个按钮的X坐标

    CGFloatStart_Y = whightView.Y+30    // 第一个按钮的Y坐标

    CGFloatWidth_Space =15.0f      // 2个按钮之间的横间距

    CGFloatHeight_Space=20.0f    // 竖间距

    CGFloatButton_Height =40.0f    // 高

    CGFloatButton_Width  =(SCREEN_WIDTH-45)/2    // 宽

    NSArray* titleArray =@[@"失败",@"执行中",@"成功",@"中断"]

    _ButtonArray = [[NSMutableArray alloc]init]

    for ( int i =0i <titleArray.count

         i++) {

        NSIntegerindex = i %2

        NSIntegerpage = i /2

        // 圆角按钮

        UIButton*PlanTypeBtn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect]

        PlanTypeBtn.tag= i//这句话不写等于废了

        PlanTypeBtn.frame=CGRectMake(index * (Button_Width + Width_Space) + Start_X, page  * (Button_Height + Height_Space)+Start_Y, Button_Width, Button_Height)

        [PlanTypeBtnsetTitleColor:[UIColor blackColor] forState:UIControlStateNormal]

        [PlanTypeBtnsetTitle:titleArray[i]forState:UIControlStateNormal]

        PlanTypeBtn.layer.cornerRadius=5

        PlanTypeBtn.layer.masksToBounds= YES

        PlanTypeBtn.layer.borderWidth=1

        PlanTypeBtn.layer.borderColor = RGBCOLOR(148,148,148).CGColor

        [ self addSubview:PlanTypeBtn]

        [_ButtonArray addObject:PlanTypeBtn]

        //按钮点击方法

        [PlanTypeBtnaddTarget: self action: @selector (PlanTypeBtnClick:)forControlEvents:UIControlEventTouchUpInside]

    }

    // 多个按钮的展示

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

        for (UIButton *btn1 in _ButtonArray){

            if (btn1.tag == btn.tag){

                [btn1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]

                btn1.layer.borderColor = RGBCOLOR(79,139,244).CGColor

                btn1.backgroundColor =RGBCOLOR(79,139,244)

            } else {

                btn1.layer.borderWidth =1

                btn1.layer.borderColor = RGBCOLOR(148,148,148).CGColor

                btn1.backgroundColor =[UIColor clearColor]

            }

        }

    }

ios切换控制实现无限循环的方法是:1、打开桌面上的设置,点击通用里的辅助功能、切换控制,切换控制中需要设置两项内容,先进入切换,添加新切换中的屏幕轻点。

最后进入自定手势,此时把屏幕横过来,如果锁定屏幕先解锁,在它给定的范围内录制手势完成上述 *** 作后,就完成了让切换控制无限循环。

手机的无线循环功能是有被封号的可能性的,因此为了避免出现被封号的可能性,并不建议用户经常使用该功能。

在iOS7系统中,打开设置——通用——辅助功能——肢体活动,可以看到新增了“切换控制”,此功能打开后,可以设置头部向左或向右摆动来辅助 *** 作iOS设备。

打开后它会先通过前置摄像头识别你的面部,之后光标会循环选择所有屏幕上的选项,你可以通过头部左右控制选择进入或退出,切换控制原本是为那些身体不便的人士设计。

你给的图中的按钮,你完全可以封装成一个控件。在创建时你需要提供title,color。所以在封装时,title,color可以封装成公开的属性,可被外部设置setter及访问getter.

各按钮的区别可通过tag属性来标识,这样通过这个tag就能知道是哪个按钮了。至于按钮的动作可以根据得到的tag值来做出相应的逻辑处理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7991088.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存