控制uibutton图标与标题的上下位置
来源:互联网 发布:js字符串中间加逗号 编辑:程序博客网 时间:2024/06/06 13:00
UIImage *buttonImage = [UIImageimageNamed:@"share_weibo.png"];
CGFloat buttonImageViewWidth = CGImageGetWidth(buttonImage.CGImage);
CGFloat buttonImageViewHeight = CGImageGetWidth(buttonImage.CGImage);
if ([UIScreenmainScreen].scale ==2.0f) {// iOS 4.0+
buttonImageViewWidth *=0.5f;
buttonImageViewHeight *=0.5f;
}
NSString *buttonTitle = @"新浪微博";
UIFont *buttonTitleFont = [UIFontsystemFontOfSize:13.0f];
CGSize buttonTitleLabelSize = [buttonTitle sizeWithAttributes:@{ NSFontAttributeName : buttonTitleFont }];
// button宽度,至少为imageView宽度与titleLabel宽度之和
CGFloat buttonWidth = buttonImageViewWidth + buttonTitleLabelSize.width;
// button高度,至少为imageView高度与titleLabel高度之和
CGFloat buttonHeight = buttonImageViewHeight + buttonTitleLabelSize.height;
sinaBtn_ = [[UIButtonalloc] init];
[sinaBtn_setCenter:CGPointMake(50,80)];
[sinaBtn_setBounds:CGRectMake(0,0, buttonWidth, buttonHeight)];
[sinaBtn_.titleLabelsetFont:buttonTitleFont];
[sinaBtn_setBackgroundColor:[UIColorclearColor]];
[sinaBtn_setImage:buttonImage forState:UIControlStateNormal];
[sinaBtn_.imageViewsetBackgroundColor:[UIColorgreenColor]];
[sinaBtn_setTitle:buttonTitle forState:UIControlStateNormal];
[sinaBtn_setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];
[sinaBtn_setTitleColor:[UIColorgrayColor] forState:UIControlStateHighlighted];
[sinaBtn_.titleLabelsetBackgroundColor:[UIColorwhiteColor]];
[backGroundView_addSubview:sinaBtn_];
CGPoint buttonBoundsCenter = CGPointMake(CGRectGetMidX(sinaBtn_.bounds),CGRectGetMidY(sinaBtn_.bounds));
// 找出imageView最终的center
CGPoint endImageViewCenter = CGPointMake(buttonBoundsCenter.x, CGRectGetMidY(sinaBtn_.imageView.bounds));
// 找出titleLabel最终的center
CGPoint endTitleLabelCenter = CGPointMake(buttonBoundsCenter.x, CGRectGetHeight(sinaBtn_.bounds)-CGRectGetMidY(sinaBtn_.titleLabel.bounds));
// 取得imageView最初的center
CGPoint startImageViewCenter = sinaBtn_.imageView.center;
// 取得titleLabel最初的center
CGPoint startTitleLabelCenter = sinaBtn_.titleLabel.center;
// 设置imageEdgeInsets
CGFloat imageEdgeInsetsTop = endImageViewCenter.y - startImageViewCenter.y;
CGFloat imageEdgeInsetsLeft = endImageViewCenter.x - startImageViewCenter.x;
CGFloat imageEdgeInsetsBottom = -imageEdgeInsetsTop;
CGFloat imageEdgeInsetsRight = -imageEdgeInsetsLeft;
sinaBtn_.imageEdgeInsets =UIEdgeInsetsMake(imageEdgeInsetsTop, imageEdgeInsetsLeft, imageEdgeInsetsBottom, imageEdgeInsetsRight);
// 设置titleEdgeInsets
CGFloat titleEdgeInsetsTop = endTitleLabelCenter.y-startTitleLabelCenter.y;
CGFloat titleEdgeInsetsLeft = endTitleLabelCenter.x - startTitleLabelCenter.x;
CGFloat titleEdgeInsetsBottom = -titleEdgeInsetsTop;
CGFloat titleEdgeInsetsRight = -titleEdgeInsetsLeft;
sinaBtn_.titleEdgeInsets =UIEdgeInsetsMake(titleEdgeInsetsTop, titleEdgeInsetsLeft, titleEdgeInsetsBottom, titleEdgeInsetsRight);
- 控制uibutton图标与标题的上下位置
- UIButton中设置图片与标题位置的解决方案
- UIButton中显示的图片和标题位置的设置
- UIButton中显示的图片和标题位置的设置
- iOS-精确控制UIButton 的image view与titlelabel的相对位置
- 自定义UIButton 图片与label的位置
- UIButton UIEdgeInsets属性改变原有的imageview和titellabel位置,使其变成上下结构
- iOS巅峰之UIScrollView滑动的左右上下位置控制
- UIButton使用UIEdgeInsetsMake 图片 标题 位置 排版
- UIButton使用UIEdgeInsetsMake 图片 标题 位置 排版
- 闪烁的网页标题与网页图标
- 22.UIButton的标题和图片位置的调整/Image和BackgroundImage
- UIButton中图片与文字的位置设置
- iOS UIButton调整图片与文字的位置
- android RadioButton 文字与图标的位置
- 通过重写ScrollView和Listview完成上下滑动选中不同位置标题的效果
- UIButton 的标题属性设置
- UIButton 上的图文上下排列
- 一千行MySQL学习笔记
- 【Android动画】之Tween动画 (渐变、缩放、位移、旋转)
- AFNetwork 作用和用法详解
- poj1797--Dijkstra变化
- oracle sql 批量更新 [转]
- 控制uibutton图标与标题的上下位置
- Android中Input型输入设备驱动原理分析(一)
- poj_3259 Bellman-Ford时间虫洞
- 优先队列2
- 微信公众平台 自定义菜单类库
- 配置NFS
- Spring声明式事务管理详解
- 浏览器正确显示csv文件
- URAL 1528 Sequence