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

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#pragma mark - 滚动视图
- (void)creatView{
    
    NSArray *xarr [email protected][@"title_tab_essence_normal_night",@"title_tab_newissue_normal_night",@"title_tab_suiji_normal_night"];
    NSArray *farr [email protected][@"title_tab_essence_normal",@"title_tab_newissue_normal",@"title_tab_suiji_normal"];
    NSArray *lab = @[@"精华",@"最新",@"穿越"];
    for (int i = 0; i<3; i++) {
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
        //设置button上的正常情况下显示图片
        [btn setimage:[[UIImage imageNamed:farr[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ] forState:UIControlStatenormal];
        //设置button上的被点击后显示图片
        [btn setimage:[[UIImage imageNamed: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:self action:@selector(Click:)
      forControlEvents:UIControlEventTouchUpInside];
        //设置button上的正常情况下显示的字体的颜色
        btn.titleLabel.font = [UIFont systemFontOfSize:12.0f];
        [btn setTitle:lab[i] forState:UIControlStatenormal];
        [btn setTitleColor:[UIColor grayColor] forState:UIControlStatenormal];
        //设置button上的被点击后的显示的字体颜色
        [btn setTitleColor:[UIColor blackColor] 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:[UIButton class]]) {
            //没有被选中的button设置为未被选中状态
            if (vie.tag !=btn.tag) {
                ((UIButton *)vie).selected = NO;
            }
        }
    }
}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...