ios button标记

在写项目的时候,for循环创建多个button,在需要设置背景图片和,需要标记所选中的button的需求,

在这里提供两种方法:

一:

1:把for循环创建的button全部装到一个新建的数组中,把他们的点击事件都写在一个方法里,把button给传到方法中去,在button的点击方法里面遍历装有button的数组,让他显示没有被选择的图片,然后在把传进来的button设置成选择的图片,就可以了!

1)需要设置默认的可以如下设置

        UIButton *haddbtns = [btnsAry objectAtIndex:0];
        [haddbtns setTitle:@"默认封面" forState:UIControlStateNormal];
        haddbtns.titleLabel.font = [UIFont systemFontOfSize:15];
        haddbtns.titleLabel.backgroundColor=RGBA(29, 29, 29, 0.5);
        haddbtns.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
        haddbtns. contentHorizontalAlignment =UIControlContentHorizontalAlignmentCenter;
        [bgScroll bringSubviewToFront:haddbtns.titleLabel];

2)然后遍历数组,

for (UIButton *btns in btnsAry) {

        if (btns) {

            [btns setTitle:@"" forState:UIControlStateNormal];
        }

    }

被遍历的button显示未被选择的button,传进来的btn显示被选择的样式;

二:

在for循环创建button的时候,在循环里面创建一个lab或者view都行,只要你认为能标记他们的就行;

1)for循环创建lab

UILabel *labs = [[UILabel alloc]init];
            labs.frame =CGRectMake(appviewx, appviewy+170+heigh+420+INTERVAL_WIDHT, ADD_WIDTH, 20);
            labs.tag = j+10;
            labs.backgroundColor = RGBA(29, 29, 29, 0.5);

            labs.hidden = YES;
            labs.userInteractionEnabled = YES;
            [bgScroll addSubview:labs];
            if (j==0) {
                labs.hidden = NO;
                labs.text = @"默认封面";
                labs.font = [UIFont systemFontOfSize:13];
                labs.textAlignment = NSTextAlignmentCenter;
                labs.textColor = [UIColor whiteColor];
                defaultLabel = labs;
            }

把lab的hidden设置成yes,然后设置默认的选择,样式随自己定,设置好了以后,只需要找到tag值所标记的那个lab让它的hidden为no,展示出来就行,

2)然后在点击方法里面进行操作,

UIButton *bg_imgBtn = (UIButton *)sender;
    NSLog(@"bg_imgBtn is %ld",(long)bg_imgBtn.tag);
    NSInteger bgTags = bg_imgBtn.tag;

    NSInteger tag = bg_imgBtn.tag-1+10;
    defaultLabel.hidden = YES;
    UILabel *label = (UILabel *)[self.view viewWithTag:tag];
    label.hidden = NO;
    label.text = @"设置封面";
    label.font = [UIFont systemFontOfSize:13];
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor whiteColor];
    defaultLabel = label;

传进来一个button,根据创建button的tag值找到指定的lab,然后设置相应lab的属性就可以了;这样的话就可以实现了,

扩展:如果需要一直展示默认的图片,也就是用户没有自行选择,可以这样操作,声明一个UILabel *defaultLabel;

然后在设置默认图片的时候关联一下defaultLabel = labs;最后在点击方法里面设置defaultLabel.hidden = YES;最后设置关联defaultLabel = label;就可以了,详细的代码都在上面可以看看!

时间: 2024-10-09 19:40:23

ios button标记的相关文章

iOS Button按钮 热区的放大

Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”,因为明明点击上去了,却没有任何响应. 但我们有时做自定义Button的时候,设计图上的给出按钮尺寸明显要小于这个数.例如我之前做过的自定义Slider上的Thumb只有12x12pt,做出来后我发现自己根本点不到按钮…… 这个问题在WWDC 2012 Session 216视频中提到了一种解决方式.它重写了按钮中的pointInside方法,使得按钮热区不够44×44大小的先自动缩

iOS Button 设置AttributeString 在不同状态下自适应尺寸心得

描述下场景:button在不同的状态显示不同的title样式 比如normal 下 font是[UIFont systemFontOfSize:18.0f weight:UIFontWeightRegular] 颜色是  [UIColor blackColor] select 下 font 是[UIFont systemFontOfSize:18.0f weight:UIFontWeightMedium]颜色是  [UIColor grayColor] 一开始这样设置: NSAttributed

iOS button 里边的 字体的 摆放

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0); 首先,这里使用button.titleLabel.textAlignment = NSTextAlignmentLeft; 这行代码是没有效果的,这只是让标签中的文本左对齐,但并没有改变标签在按钮中的对齐方式. 所以我们使用butto

ios Button不想长按变灰的效果解决办法

图片长按变灰的效果: 既然不想要这种效果,那么解决的办法到底有哪些了? 解决办法一: 重写他的highlight的方法: 如下图 解决方法二:读Button的官方文档, 所以在代码中可以将它设为NO就行了 结果如下:

iOS button 里边图片和文字的距离

很多次,系统默认的UIButton不能满足需求,每次都是查了很多资料,最后还是用最复杂的方式来修改button的标题和图片的位置,今天,花些时间来梳理一下这方面的知识... UIButton的默认布局是:title在右,image在左; 很多时候我们需要的是title在左边,或者title在下面,这时就需要调整UIButton的TitleLabel和ImageView的位置了,查了很多资料,要么零零散散的介绍,要么就是特别复杂的实现;经过一段时间的学习,在这里总结一下实现的方式; 一种是设置UI

iOS Button显示图片不正常的解决办法

Button 显示图片不正常的情况如下     为什么会这样了?明明都设置了好了. 解决办法一 使用storyboard 其实我们在使用Button设置图片的时候,最好将Button的type设置为custom,在storyboard中可以按照下图设置 将system改为custom 解决办法二 使用代码 方法如下: [self setImage:[[UIImage imageNamed:emotion.png]        imageWithRenderingMode:UIImageRend

iOS button 文字图片上下排布

button 文字图片上下经常会用到,记录一下 self.rechargeButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//使图片和文字水平居中显示 [self.rechargeButton setTitleEdgeInsets:UIEdgeInsetsMake(self.rechargeButton.imageView.frame.size.height+10 ,-self.recha

iOS button点击更换图片

我们在做项目时会遇到这样一种情况就是我们要设置一个属性,当点击一次时显示一种效果,再次点击时显示另一种效果,如此反复,这是我们会用到button的一个属性, 那就是isSelected if (self.btnDefaultAddress.isSelected == YES) { [self.btnDefaultAddress setImage:[UIImage imageNamed:@"first_normal.png"] forState:UIControlStateNormal]

ios Button

展现效果如下: 功能说明: 1添加来图片背景, 2动态展现百度网页, 3动态添加按钮, 4展现提示框,展现你点击提示框得index  我成功来你也快来试试! 1 具体得项目创建与拖动按钮到storyboard 就不在详述 storyboard 上添加来按钮,同时也增加来背景! 2 按住ctrl键拖拽到ViewController.m文件空白处,生成someButtonClicked,填充代码后如下 -(void)someButtonClicked{ // NSLog(@"点击成功!")