UIButton设置图片位置

通过设置UIButton的contentVerticalAlignment,contentHorizontalAlignment和imageView.contentMode属性,可以控制图片在按钮中的位置和填充方式。当需要防止图片变形时,可使用UIViewContentModeScaleAspectFill。imageEdgeInsets和titleEdgeInsets属性则用于分别调整图片和文字在按钮内的边缘距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置小图片image的位置

  • image默认图片保持原大小
  • 可以通过设置contentVerticalAlignmentcontentHorizontalAlignment,修改位置,甚至填充满按钮
    在这里插入图片描述在这里插入图片描述
	// 修改图片位置 图2的效果
	[button setImage:image forState:UIControlStateNormal];
	button.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
	button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
	// 图片填充满按钮 图1的效果
	// 图片变形
	button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
	button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;

在这里插入图片描述

  • 图片填充满按钮时变形,可以设置contentMode属性处理
    button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
    button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
    button.imageView.contentMode = UIViewContentModeScaleAspectFill;

设置背景图片backGroudImage(图片默认被拉伸填满)

在这里插入图片描述

  • contentVerticalAlignment/contentHorizontalAlignment/imageView.contentMode都失效,默认拉伸满按钮

如果你需要的是设置移动小图片image的位置

  • 设置imageEdgeInsets属性来改变图片在按钮中的位置
  • 设置titleEdgeInsets属性来改变文字在按钮中的位置
button.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
button.titleEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值