html左文右图布局方法,UIButton 左文右图,上文下图 ,上图下文

1.设置左文右图时 button.titleLabel.intrinsicContentSize.width +   button.imageView.bounds.size.width 值要小于button.size.width

2.设置上图下文或者上图下文时  button.titleLabel.intrinsicContentSize.height +   button.imageView.bounds.size.height  值要小于button.size.height

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

[buttonsetFrame:CGRectMake(100,200,134,55)];

button.backgroundColor = [UIColor grayColor];

[button.titleLabel setFont:[UIFont systemFontOfSize:12]];

[buttonsetTitleColor:[UIColor  purpleColor] forState:UIControlStateNormal];

[buttonsetTitle:@"马甲哥" forState:UIControlStateNormal];

[buttonsetImage:[UIImage imageNamed:@"uc_novice_college_taskicon"] forState:UIControlStateNormal];

button.titleLabel.backgroundColor = [UIColor yellowColor];

[self.viewaddSubview:button];

//左文右图

/*

CGFloat space = 4;

CGSize buttonSize = button.frame.size;

CGSize titleSize = button.titleLabel.intrinsicContentSize;

CGSize imageSize = button.imageView.bounds.size;

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -imageSize.width - space/2, 0, imageSize.width + space/2)];

[button setImageEdgeInsets:UIEdgeInsetsMake(0, titleSize.width + space/2, 0, -titleSize.width - space/2)];

*/

// 上图下文

/*

CGFloat space = 4;

CGSize buttonSize = button.frame.size;

CGSize titleSize = button.titleLabel.intrinsicContentSize;

CGSize imageSize = button.imageView.bounds.size;

CGFloat afterTop = (buttonSize.height - (titleSize.height + imageSize.height + space))/2;

CGFloat afterLeft = (buttonSize.width - (titleSize.width + imageSize.width))/2;

CGFloat imageTop = (buttonSize.height - imageSize.height)/2 - afterTop;

CGFloat imageLeft = buttonSize.width/2 - afterLeft - imageSize.width/2;

CGFloat titleTop = (buttonSize.height - titleSize.height)/2 - afterTop;

CGFloat titleLeft = buttonSize.width/2 - afterLeft - titleSize.width/2;

[button setImageEdgeInsets:UIEdgeInsetsMake(-imageTop , imageLeft, imageTop, -imageLeft)];

[button setTitleEdgeInsets:UIEdgeInsetsMake(titleTop, -titleLeft, -titleTop, titleLeft)];

*/

// 上文下图

/*

CGFloat space = 4;

CGSize buttonSize = button.frame.size;

CGSize titleSize = button.titleLabel.intrinsicContentSize;

CGSize imageSize = button.imageView.bounds.size;

CGFloat afterTop = (buttonSize.height - (titleSize.height + imageSize.height + space))/2;

CGFloat afterLeft = (buttonSize.width - (titleSize.width + imageSize.width))/2;

CGFloat imageTop = (buttonSize.height - imageSize.height)/2 - afterTop;

CGFloat imageLeft = buttonSize.width/2 - afterLeft - imageSize.width/2;

CGFloat titleTop = (buttonSize.height - titleSize.height)/2 - afterTop;

CGFloat titleLeft = buttonSize.width/2 - afterLeft - titleSize.width/2;

[button setImageEdgeInsets:UIEdgeInsetsMake(imageTop , imageLeft, -imageTop, -imageLeft)];

[button setTitleEdgeInsets:UIEdgeInsetsMake(-titleTop, -titleLeft, titleTop, titleLeft)];

*/

NSLog(@"titleEdgeInsets:%@",NSStringFromUIEdgeInsets(button.titleEdgeInsets));

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是html图文混排右图左文的代码示例: ```html <h2 style="font-size: 20px; color: #333; font-family: Arial, sans-serif;">这是一个标题</h2> <p style="font-size: 16px; color: #666; font-family: Arial, sans-serif;">这是一段文字,可以使用相关属性来设置文字的样式,例如字体、字号、颜色等。</p> <p style="font-size: 16px; color: #666; font-family: Arial, sans-serif;"><img src="image.jpg" alt="图片" align="right" hspace="10" width="200">这是一段文字,可以和图片一起排版。使用图像标签<img />插入需要的图片;在图像标签<img />内使用相应的属性设置图片的右对齐(align=“right”) 、水平边距(hspce)和宽度(width)。</p> ``` 其中,`<h2>`标签用于设置标题,`<p>`标签用于设置文字段落,`<img>`标签用于插入图片,`align`属性用于设置图片对齐方式,`hspace`属性用于设置图片与文字之间的水平间距,`width`属性用于设置图片宽度。 如果要在Android中实现图文混排,可以重写`TextView`的`getDrawable()`方法,将网络图片转换为`Drawable`对象,然后使用`SpannableString`和`ImageSpan`实现图文混排效果。具体实现可以参考以下代码: ```java // 获取网络图片并转换为Drawable对象 Drawable drawable = loadImageFromNetwork("http://example.com/image.jpg"); // 创建SpannableString对象 SpannableString spannableString = new SpannableString("这是一段文字,可以和图片一起排版。"); // 创建ImageSpan对象 ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BOTTOM); // 将ImageSpan对象设置到SpannableString对象中 spannableString.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 将SpannableString对象设置到TextView中 textView.setText(spannableString); // 加载网络图片并返回Drawable对象 private Drawable loadImageFromNetwork(String imageUrl) { try { URL url = new URL(imageUrl); InputStream inputStream = (InputStream) url.getContent(); return Drawable.createFromStream(inputStream, "image"); } catch (Exception e) { e.printStackTrace(); return null; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值