在设置UIButton文字和图标对齐方式的时候,需要注意:
setTitleEdgeInsets和setImageEdgeInsets方法只对通过setTitle和setImage方法设置的文字和图片有效。
很多人错将setBackgroundImage当成setImage使用,结果看到了一个图标被作为背景图片拉伸了。之后任怎么设置setImageEdgeInsets都看不到效果。
下面顺便贴出一位哥们写的代码,效果不错!
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 150, 50)];
[button setTitle:@"HHH" forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"narrowend.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"panelicon.png"] forState:UIControlStateNormal];
[button setImageEdgeInsets:UIEdgeInsetsMake(0.0, -20, 0.0, 0.0)];
代码解释:
[button setImageEdgeInsets:UIEdgeInsetsMake(<#CGFloat top#向上偏移量>, <#CGFloat left#向左偏移量>, <#CGFloat bottom#向下偏移量>, <#CGFloat right#向右上偏移量>)];
同时还可以设置文字的偏移量:
[button setTitleEdgeInsets:UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)];
相关推荐
相信每位iOS开发者都知道在UIButton中可以设置图片和文字,也经常见到同时设置有图片和下方提示文字的按钮,但是当我自己去对图片按钮添加提示文字的时候,却发现这并不是想象中的那么简单。怎么不简单呢?下面来...
下面将详细介绍这个自定义按钮类以及如何在iOS应用中实现上图标下文字、左图标右文字和右文字左图标设置的按钮。 首先,`SQCustomButton`是对系统默认的`UIButton`进行扩展的自定义控件。开发者可能出于设计需求或...
结合UIButton和UILabel,开发者可以创建丰富的用户交互界面,比如提示用户操作的按钮配合解释文字的标签,或者在按钮上同时展示图标和文字等。熟练掌握这两类控件的使用,将大大提升iOS应用的用户体验。在实际项目中...
在iOS开发中,UI(User Interface)部分是构建应用程序外观和交互的核心,它涉及各种控件和布局的设计。本资源包含iOS学习UI部分的代码和笔记,内容详细,旨在帮助开发者深入理解并熟练掌握iOS UI的开发技巧。下面将...
下面将详细讨论iOS应用中关于UIButton的相关知识点。 1. UIButton类型: iOS中的按钮有多种类型,如:UIButtonTypeRoundedRect(默认圆角矩形)、:UIButtonTypeSystem(系统样式)、:UIButtonTypeContactAdd(添加...
在iOS开发中,按钮(UIButton)是用户界面中不可或缺的元素,它允许用户与应用进行交互。本教程将深入探讨如何在UIButton中实现图片和文本的多种排列方式,以满足不同设计需求。我们将会利用一个名为YYButton的工具...
4. 图标和文字:为了使圆形按钮更易识别,我们通常会在其上添加图标和/或文字。可以使用UIImage和NSAttributedString来设置这些内容,同时确保它们在圆形区域内正确对齐。 5. 动画效果:为了增强用户体验,我们还...
开发者可以设置字体、颜色、对齐方式等属性,使其与应用设计风格保持一致。 2. **Button(按钮)**: UIButton是用户进行交互的主要组件,如“登录”按钮。开发者可以通过调整其标题、背景色、边框样式等属性来定制...
4. **UILabel**:用于显示文本信息,可以设置字体、颜色、对齐方式等属性。UILabel支持单行或多行文本,自动换行,以及显示富文本(例如:带链接、粗体、斜体等格式的文本)。 5. **UITextField**:用于输入文本,...
3. **UILabel**:用于显示静态文本,可以设置文字、字体、颜色和对齐方式。如果需要动态更新内容,可以使用 setText: 方法。 4. **UITextField**:用于接收用户输入,常用于登录、搜索等场景。可以设置占位符、键盘...
此外,`contentHorizontalAlignment`和`contentVerticalAlignment`属性控制内容在按钮中的对齐方式。 在实际开发中,`UIButton`常常与Auto Layout配合使用,以适应不同尺寸的屏幕。利用约束,可以精确地指定按钮的...
在上面的代码中,我们首先创建了一个UILabel对象,设置了它的尺寸和位置,然后设置了文字内容、颜色和字体,并将其添加到视图层级中。 接下来,我们讨论多行文本的显示。若要使UILabel支持多行显示,需要设置`...
在本案例中,我们将探讨如何将系统自带的UIButton修改为上图片下文字的布局方式,这种布局通常用于显示带有图标的按钮。我们将通过继承UIButton并重写其`layoutSubviews`方法来实现这一目标。 首先,我们需要创建一...
自定义 AlertView 可能需要支持多行文本、字体、颜色、对齐方式等的设置。对于字符分段显示颜色,可以利用 attributedString 属性,通过 NSAttributedStringKey.foregroundColor 来设置不同部分的文字颜色。这使得...
- **iOS**:iOS中的`UIButton`类允许设置`UIImage`为图像,`setTitle:forState:`方法设置文字。 - **React/React Native**:在React中,可以通过自定义组件实现,使用`style`属性处理样式,`children`包含文本和...
1. **重写属性和方法**:继承`UIButton`类并覆盖其默认行为,比如修改标题的颜色、字体、对齐方式等,或者重写`touchesBegan(_:with:)`、`touchesEnded(_:with:)`等触摸事件方法来定制点击反馈。 2. **添加图像和...
设置约束时,我们可以使用`NSLayoutConstraint`,确保标题、消息、图标和自定义视图之间的间距和对齐方式。 ```swift override init(frame: CGRect) { super.init(frame: frame) setupViews() } required init?...
开发者可以设置字体、颜色、对齐方式等属性。通过`text`属性来修改显示的文本。 3. UITextField:用于输入文本。它通常用于获取用户的输入,如用户名、密码等。可以通过`delegate`协议处理文本改变、焦点变化等事件...
4. **文字样式**:字体大小、颜色、对齐方式等可调。 5. **图像**:可以添加图标或者背景图片,支持设置不同类型的状态,如正常、突出、不可用等。 6. **内边距**:调整文本与边框或图像之间的距离,使布局更合理。 ...