码迷,mamicode.com
首页 > 移动开发 > 详细

ios button标记

时间:2016-05-09 12:41:40      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

在写项目的时候,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;就可以了,详细的代码都在上面可以看看!

ios button标记

标签:

原文地址:http://www.cnblogs.com/hero11223/p/5473321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!