首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UIButton始终截断iOS 15上的文本

UIButton是iOS开发中常用的用户界面控件,用于创建可点击的按钮。在iOS 15上,如果按钮的文本过长,会出现截断的情况。

UIButton的截断文本问题可以通过以下几种方式解决:

  1. 调整按钮的宽度:可以通过设置按钮的frame或使用Auto Layout来调整按钮的宽度,使其能够完整显示文本内容。
  2. 使用自适应文本:iOS 15引入了新的API来处理按钮文本的截断问题。可以使用UIButton的adjustsFontForContentSizeCategory属性,配合UIFontMetrics来自动调整文本的字体大小,以适应按钮的大小。

示例代码:

代码语言:txt
复制
button.titleLabel?.adjustsFontForContentSizeCategory = true
button.titleLabel?.font = UIFont.preferredFont(forTextStyle: .body)
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.minimumScaleFactor = 0.5
  1. 使用titleLabel.lineBreakMode属性:可以设置按钮文本的换行模式,以控制文本的截断方式。常用的换行模式有:
  • .byTruncatingTail:在文本末尾截断,并显示省略号。
  • .byWordWrapping:按单词换行,不截断文本。

示例代码:

代码语言:txt
复制
button.titleLabel?.lineBreakMode = .byTruncatingTail
  1. 使用自定义按钮样式:可以通过自定义按钮的外观来解决文本截断问题。可以使用NSAttributedString来设置按钮的文本样式,包括字体、颜色、行间距等。

示例代码:

代码语言:txt
复制
let attributedString = NSAttributedString(string: "Long Button Text", attributes: [
    .font: UIFont.systemFont(ofSize: 16),
    .foregroundColor: UIColor.white,
    .paragraphStyle: NSParagraphStyle.default
])
button.setAttributedTitle(attributedString, for: .normal)

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动应用分析(MTA):https://cloud.tencent.com/product/mta
  • 腾讯云移动推送(TPNS):https://cloud.tencent.com/product/tpns
  • 腾讯云移动直播(MLVB):https://cloud.tencent.com/product/mlvb
  • 腾讯云云点播(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 腾讯云云函数(SCF):https://cloud.tencent.com/product/scf
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云安全中心(SSC):https://cloud.tencent.com/product/ssc
  • 腾讯云人工智能开放平台(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网开发平台(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Tencent XR):https://cloud.tencent.com/product/xr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

: 在 Text 属性下面有一个文本框, 在这个文本框中输入要显示文本内容; (2) Color 属性 Color 属性 : 控制 UILabel 中文本颜色; (3) Font 属性 Font...7) Line Break 属性 Line Break 属性 :  -- 作用 : 该属性对 UILabel 内文本进行截断, UILabel 中字符串比较多, UILabel 无法容纳这些字符串...替代; -- Truncate Tail : 截断后半部分, 后半部分使用 ......UIViewController 中 IBAction 方法 与 界面设计文件中 UIButton 组件绑定; -- 触发 IBAction 方法 : 界面中 UIButton 被点击, 就会回调..., 箭头指向需要加载 视图控制器; -- 移动箭头 : 视图中只有一个 UI 控制器, 移动箭头始终指向唯一 一个 UI 控制器; -- 好处 : 可以直观地看到多个视图之间协作关系, 可以在 Interface

4.9K30

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

比如说你可能会设定每15分钟为一个刻度,此时分钟滑轮就有4个值,0、15、30、45。 4.3.4 详情展开按钮 详情展开按钮展示了与该项相关更多详细信息与功能描述。 ?...API注释 想要了解如何在代码中定义信息按钮,可以参考UIButton. iOS包含了两种信息按钮样式:适用于浅色内容深色按钮,以及适用于深色内容浅色按钮。...4.3.12圆角矩形按钮 iOS7及更新版本中已经不再使用圆角矩形按钮,而是使用了新系统按钮——类型为UIButtonTypeSystemUI按钮 (UIButton) 。...但在某些特定内容区域内,为按钮描边或者添加背景颜色,让用户迅速地把注意力放到按钮,也是必要。Value 2布局中,文本和副标题中间垂直间距会让用户专注于副标题第一个单词。...iOS提供了各种不同键盘类型,以便用户输入不同类型文本

13.2K30

1.注册或登录页面设计:UILabel,UIButton,UITextField

学习iOS开发已经有一段时日了,之前一直没有系统iOS开发相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发思想,现将自己在学习过程中遇到一些知识进行总结,希望能对iOS初学者能有一定帮助...最初学iOS时候苦于没有大神指点,全靠自己一点点摸索,确实走了很多弯路,不希望还有小伙伴跟我一样走过多弯路。   ...由于本人只是从去年11月份才开始玩iOS(附上自己学习路线,如下图),受限于能力,难免有一些不完善或不恰当地方,希望大神们多多见谅,勿拍砖,有不足或需要完善地方也希望小伙伴们能多多指教。 ?...作为iOS开发入门总结第一篇,这里以最常见注册或登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...UIButtonTypeContactAdd, 十字加号按钮 // } UIButtonType; //给定button在view位置

2.3K50

iOS Human Interface Guidelines》——System Button系统按钮

系统按钮 系统按钮执行一个app特定动作。 API NOTE 在iOS 7中,UIButtonTypeRoundedRect被重新定义成UIButtonTypeSystem。...查看UIButton学习更多关于在你代码中定义一个系统按钮内容。...一个系统按钮: 默认没有边框或者背景外观 可以包含一个图片或者文本标题 支持自定义外观,比如边框或者背景图片(使用UIButtonTypeCustom类型按钮并提供一个自定义背景图来添加自定义外观...除了文章、并列连词和少于四个字母介词以外每个单词都要大写。 不要创建太长标题。太长文本会被截断,这会让用户很难理解。 合适的话,在内容区域给系统按钮添加边框和背景外观。...比如在电话中,带边框数字键加强了打电话心理模式,拨打按钮背景也给用户一个引人注意目标来点击。 本文翻译自苹果官方开发文档

62420

iOS之深入解析Xcode 13正式版发布40个新特性

一、前言 Xcode 13 包括适用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 SDK。...; 添加了对 UIButton 和 UIBarButtonItem changesSelectionAsPrimaryAction 属性支持; 支持从对象库中创作和拖动 iOS Core Location...macOS 12 中支持斜角颜色; 在适用于 macOS 12 应用程序中,您可以使用属性检查器中 localize 属性在非系统 NSMenuItem 配置本地化等效键选项; 在 iOS 15...四十、UIKit 对于针对 iOS 15 beta SDK 编译应用程序,在文本视图和文本字段中键入时,按键命令不再拦截文本输入和文本编辑命令。...对于与 iOS 15 和 iPadOS 15 或更高版本链接应用程序,QuickType 栏已启用并显示拼写检查候选。

8.7K40

iOS UI控件了解一下

iOS开发及测试中,除了业务逻辑和算法之外,UI控件是最重要一部分,因此熟悉UI控件及实现原理,对于了解开发实现和测试是相当必要,这篇文章将给大家介绍常用UI控件及实现。...UIView view(视图)代表屏幕一个矩形区域。...iOS中用UIView来表示视图,App中能看到元素,都是UIView及其子类,通俗说各种UI控件都属于view,不同控件代表不同种类view。iOS中所有能看到内容都是view或其子类。...UILabel主要作用是显示一段文本,因此提供了很多与显示文本相关API(详见下表) ? 2. UITextField 1)UITextField是什么?...5)文本显示: UITextField提供了许多API方便我们控制文本显示,包括字体颜色、对齐方式、占位符等等(详见下表) ?

2.6K20

iOS开发之微信聊天工具栏封装

之前已经把微信视图结构简单拖了一下(iOS开发之微信山寨版),今天就开始给微信加上具体实现功能,那么就先从微信聊天界面开始吧。...在封装聊天工具条时候表情键盘是之前封装好(请参考:“iOS开发之自定义表情键盘(组件封装与自动布局)”),所以拿过来就可以用啦。..., strong) UIButton *sendVoiceButton; 7 8 //文本视图 9 @property (nonatomic, strong) UITextView *sendTextView...} 17 } 4.通过输入框文字多少改变toolView高度,因为输入框约束是加在ToolView,所以需要把输入框ContentSize通过block传到ToolView调用者...5.点击最左边按钮触发事件(切换文本输入框和录音按钮),代码如下: 1 //切换声音按键和文字输入框 2 -(void)tapVoiceChangeButton:(UIButton *) sender

2.4K80

收藏!UI Tabbar底部标签栏设计全攻略

苹果 iOS 标签栏 对于 Apple iOS,导航选项容器大小等于 390x49。...pt 用于紧凑标签栏 对于文本标签,Apple iOS 使用 SF 字体,中文使用思源黑体或者苹方,大小 10 和中等粗细。...不要使用不熟悉图标 您在标签栏中使用图标对您目标受众来说应该是非常清晰。如果您怀疑图标的含义是否明确,则应始终将图标与标签一起使用。 ❌ 用户可能不清楚第二个导航选项 5....不要使用“灰+灰”颜色组合 图标颜色对比度差和标签字体小是标签栏设计两个常见问题。 始终检查文本和图标的颜色对比度。...不要截断标签 您在标签栏中没有太多空间,所以当涉及到文本标签时,每个字符都很重要。切勿截断标签,因为用户不清楚其含义。相反,尝试编写清楚地传达选项简短标签。 ❌ 第二个标签被截断 7.

1.8K30

iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

; 2.拉扩展 对象库 面板 大小 : 将 鼠标移动到 对象库 面板上边缘, 可以 扩大 对象库 面板框 大小; ---- ( 2 ) iOS 常用 控件 iOS 常用控件 : 1.UILabel...: 文本标签 控件, 显示 一个 字符串 文字; 2.UIButton : 按钮 控件, 可设置 点击事件监听器, 监听到 用户 点击后 进行一个操作 ; 3.UITextField : 文本输入框...手机屏幕所有能看到内容都是 UIView 或 UIView 子类, 如 按钮 UIButton, 文字 UILabel 等都是继承自 UIView ; 2.本质 : 每个 UIView 都可以当做一个容器..., 该控件用于接收用户输入数字, 然后进行加法计算; 2.拖入 Label 控件 并设置文本 : Label 标签 是文本显示标签, 只能单纯显示文本, 不能进行操作; 如果在 storyboard...界面修改文本标签, 该标签会自动缩放到刚好包裹文本大小; 依次拖入两个 Label, 然后双击控件, 将 Label 重命名为 + 和 = ; 3.拖入 Label 控件 并设置 属性 : 上面通过双击直接在界面修改控件文本控件会缩小

4.7K30

Quartz2D复习(四) --- 图层CALayer和动画CAAnimation

1、CALayer 1)、在ios中,能看得见摸得着东西基本都是UIView, 比如按钮、文本标签、文本输入框、图标等,这些都是UIView 2)、UIView之所以能显示在屏幕,完全是因为它内部一个图层...retain) CALayer *layer; 4)、当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了...QuartzCore框架和CoreGraphics框架是可以跨平台使用,在ios和Mac OSX能使用;   但是UIKit只能在ios中使用;为了保证可移植性,QuartzCore不能使用UIImage...: 默认为YES, 代表动画执行完毕后就从图层移除,图形会恢复到动画执行前状态。...ios比Mac  OSX转场动画效果少一点   UINavigationController就是通过CATransation实现了将控制器视图推入屏幕动画效果   动画属性:   type : 动画过度类型

1.4K30

iOS遇见UI

比如前面介绍UIButton控件就是活动控件。 静态控件:静态控件通常只是继承了UIView,并不继承UIControl。...典型被动控件就是文本框,这些文本框可用于接受用户输入,但它们不会激发任何方法。 在iOS应用中,UI控件所属角色并不是一成不变,有些控件可根据开发人员需求选择多种模式运行。...当然,像UIButton之类按钮控件,除了在活动模式下激发方法之外,它并没有太多其他功能。...假如向界面设计文件中添加了一个按钮(UIButton),由于UIButton继承了UIControl基类,因此,可以在Xcode属性检查器面板中看到如图1所示UIControl属性设置面板。...本文摘自《疯狂iOS讲义()(第2版):Objective-C 2.0与iPhone/iPad应用开发基础》

72210

《Motion Design for iOS》(三十五)

黑色箭头和“Dance Club”文本 “Ministry of Fun”文本 “Add a Song”按钮 五首歌对应五行 这8个元素(或元素组,因为箭头和“Dance Club”文本是一起动画)...因为我们没有数据,而且我主要目的是演示如何构建动画,我就仅仅是保存一些Photoshop里设计图片并手动将这些图片添加到界面上去,从顶部箭头和“Dance Club”文本开始。...arrowView.image = [UIImage imageNamed:@"arrow"]; [self.window addSubview:arrowView]; 这里没什么特别的,只是简单地添加一些视图到我们原型主屏幕...我本可以懒一点,不将按钮做成一个真的UIButton,而是使用一个UIImageView,但我想演示如何为一个自定义UIButton设置点击和普通图片。...查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS 查看作者首页

48620

《Motion Design for iOS》(十五)

从UIKit和CoreAnimation开始 通常情况下,iOS app中屏幕物体都是UIView对象。它们是矩形并且有坐标和大小来定义它们在屏幕位置和尺寸。...UIView是用来构建你界面的UIKit Framework中基本界面对象。每个视图都可能伴随着文本、形状或图片绘制。...这些是为某些功能或特性特定特殊UIView对象。包括作为界面按钮UIButton、用来显示图片UIImageView、显示文本UILabel和显示列表UITableView。...视图,用来包含UITableView中一行元素 UILabel中帖子标题 评论数量UIButton,由一个评论气泡图和评论数量组成 显示帖子URLUILable UILabel中显示帖子点值和子板...一个UIView本质是一个包含内部图形矩形。在屏幕布局,靠近或在其他视图顶部,还可能会有高级透明效果来整合到一起或者快速绘制。

84640

iOS 10中如何搭建一个语音转文字框架

事实,这个Speech Kit就是Siri用来做语音识别的框架。如今已经有一些可用语音识别框架,但是它们要么太贵要么不好。...设计App UI 前提:你需要Xcode 8 beta版本和一个运行iOS 10 beta系统版本iOS 设备。 先从创建一个新命名为SpeechToTextDemo单视图工程开始。...,因为不仅仅只有本地ios设备会进行识别,苹果服务器也会识别。...注意:如果稍后在工程运行完成时还没有看到语音输入授权框,那是因为你是在模拟器运行程序。iOS模拟器没有权限进入你Mac电脑麦克风。...8-15行 – 创建一个 AVAudioSession来为记录语音做准备。在这里我们设置session类别为recording,模式为measurement,然后激活它。

1.9K20
领券