button上的图片和文字偏移量排版

来源:互联网 发布:如何用c语言编魔塔 编辑:程序博客网 时间:2024/05/02 04:42
- (void)creatView{
     
    NSArray*xarr =@[@"title_tab_essence_normal_night",@"title_tab_newissue_normal_night",@"title_tab_suiji_normal_night"];
    NSArray*farr =@[@"title_tab_essence_normal",@"title_tab_newissue_normal",@"title_tab_suiji_normal"];
    NSArray*lab = @[@"精华",@"最新",@"穿越"];
    for(inti = 0; i<3; i++) {
        UIButton*btn = [UIButtonbuttonWithType:UIButtonTypeCustom];
        //设置button上的正常情况下显示的图片
        [btn setImage:[[UIImageimageNamed:farr[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
        //设置button上的被点击后显示的图片
        [btn setImage:[[UIImageimageNamed:xarr[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateSelected];
        //设置button上图片的偏移量
        [btn setImageEdgeInsets:UIEdgeInsetsMake(0.0, 9.0, 25.0, 9.0) ];
        //设置button大小
        btn.frame = CGRectMake(90+i*50, 5, 50, 50);
        //设置button方法的实现
        [btn addTarget:selfaction:@selector(Click:)
      forControlEvents:UIControlEventTouchUpInside];
        //设置button上的正常情况下显示的字体的颜色
        btn.titleLabel.font = [UIFontsystemFontOfSize:12.0f];
        [btn setTitle:lab[i] forState:UIControlStateNormal];
        [btn setTitleColor:[UIColorgrayColor] forState:UIControlStateNormal];
        //设置button上的被点击后的显示的字体颜色
        [btn setTitleColor:[UIColorblackColor] forState:UIControlStateSelected];
        //设置button上字体的偏移量
        [btn setTitleEdgeInsets:UIEdgeInsetsMake(10.0,-40.0 , 0.0, -8.0)];
        //设置tag值
        btn.tag = 100+i;
        //运行程序默认被选中的button
        if(btn.tag == 100) {
            btn.selected = YES;
        }
        //粘贴到导航条上
        [self.navigationController.navigationBar addSubview:btn];
    }
}
#pragma mark - button方法实现
- (void)Click:(UIButton*)btn{
    //设置被选中
    btn.selected = YES;
    //遍历navigationBar获取subviews子视图
    for(UIView*vie in self.navigationController.navigationBar.subviews) {
        if([vie isKindOfClass:[UIButtonclass]]) {
            //没有被选中的button设置为未被选中状态
            if(vie.tag !=btn.tag) {
                ((UIButton*)vie).selected = NO;
            }
        }
    }
}
0 0
原创粉丝点击