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

UIStackView内部的UISegmentedControl,分段文本未居中- iOS 13

UIStackView是iOS中的一个视图容器,用于管理一组视图的布局。UISegmentedControl是一种用户界面控件,用于在多个选项之间进行选择。在UIStackView内部使用UISegmentedControl时,可能会遇到分段文本未居中的问题。

解决这个问题的方法是通过设置UISegmentedControl的属性来调整文本的对齐方式。可以使用setTitleTextAttributes(_:for:)方法来设置文本的样式和属性,其中包括文本的对齐方式。

以下是一个示例代码,演示如何将分段文本居中对齐:

代码语言:txt
复制
let segmentedControl = UISegmentedControl(items: ["Option 1", "Option 2", "Option 3"])
segmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], for: .normal)
segmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.black], for: .selected)

// 设置文本居中对齐
segmentedControl.setTitleTextAttributes([NSAttributedString.Key.paragraphStyle: NSParagraphStyle.default], for: .normal)
segmentedControl.setTitleTextAttributes([NSAttributedString.Key.paragraphStyle: NSParagraphStyle.default], for: .selected)

let stackView = UIStackView(arrangedSubviews: [segmentedControl])
stackView.axis = .horizontal
stackView.alignment = .center
stackView.distribution = .fillEqually

// 添加stackView到父视图中

在这个示例中,我们创建了一个UISegmentedControl,并设置了文本的样式和属性。通过设置NSParagraphStyle.default作为文本的段落样式,可以实现文本的居中对齐。然后,我们将UISegmentedControl添加到一个UIStackView中,并设置了UIStackView的一些属性来管理布局。

对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求和场景选择适合的产品。腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等。可以通过访问腾讯云官方网站获取更多详细信息和文档链接:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

断言和分段控制器1. 断言(Assertions)2. 分段控制器(UISegmentedControl)

分段控制器(UISegmentedControl) 作用:同一时刻只能选中一个标签 基本使用:创建、设置选中、将其放在Navigation标题上 //创建 UISegmentedControl *segmentControl...UIControlEventPrimaryActionTriggered NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 13, // semantic action: for buttons...UIControlEventValueChanged: 当控件值发生改变时,发送通知。用于滑块、分段控件、以及其他取值控件。...UIControlEventEditingDidBegin: 当文本控件中开始编辑时发送通知。 UIControlEventEditingChanged: 当文本控件中文本被改变时发送通知。...) 总选项数 selectedSegmentIndex 用来设置或者获取选中项 2.5 设置分段控制器宽度 因为分段控制器有很多段,方便起见,可以循环赋值。

80930

iOS分段控制器UISegmentedControl1. 分段控制器(UISegmentedControl)2. 事件监听3. 手势事件大全

分段控制器(UISegmentedControl) 作用:同一时刻只能选中一个标签 基本使用:创建、设置选中、将其放在Navigation标题上 //创建 UISegmentedControl *segmentControl...UIControlEventPrimaryActionTriggered NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 13, // semantic action: for buttons...UIControlEventValueChanged:当控件值发生改变时,发送通知。用于滑块、分段控件、以及其他取值控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。...UIControlEventEditingDidBegin:当文本控件中开始编辑时发送通知。 UIControlEventEditingChanged:当文本控件中文本被改变时发送通知。...) 总选项数 selectedSegmentIndex 用来设置或者获取选中项 2.5 设置分段控制器宽度 因为分段控制器有很多段,方便起见,可以循环赋值。

1.3K20
  • iOS Human Interface Guidelines》——Segmented Control分段控件

    分段控件 分段控件是一组线性段,每个按钮对应功能可以显示一个不同视图。 API NOTE 查看UISegmentedControl来学习更多关于在你代码中定义一个分段控件内容。...因为分段控件中每个分段都有着同样宽度,如果内容填充了一些分段,而其他不能完全填充,看起来就不好。 不要在一个分段控件中混用文本和图片。分段控件可以包含文本和图片。...单个分段可以包含文本或图片,但不能都包含。一般来说,最好不要在一个分段控件中将文本放在某些分段里而将图片放在另一些分段里。 必要的话,调整自定义分段控件中内容位置。...如果你自定义分段控件背景,确保控件内容自动居中依然看起来不错。...使用栏度量API来调整分段控件中内容位置(查看UISegmentedControl外观定制API来学习更多关于定制栏度量内容)。 本文翻译自苹果官方开发文档

    36120

    iOS UISegmentedControl控件详解

    这时候就需要用到UISegmentedControl控件了,这个控件用处就是进行分段控制,实现样式如下: 当选中一个分段时候,其颜色填充,其余分段选中状态,可以很清晰明了地告知用户当前在哪个分段内容下...属性在iOS 7.0之后将不再起作用 // 设置点击后恢复原样,默认为NO,点击后一直保持选中状态 self.segmentedControl.momentary = YES;...,有几个注意地方特别提一下: UISegmentedControl风格在iOS 7.0之后就不能设置了,相应属性也进行了说明,即使设置了也是无效。...其实UISegmentedControl样式时一个整体圆角矩形,两边并不是像图中那样没有左右两边,但是我觉得四个圆角不太好看,所以用了一个小技巧,将其起始x坐标设为了-5,将其宽度设为了屏幕宽度...分段标题可以用文字(我这里都是文字)也可以用图片,基本都有对应方法,可以在使用时候根据代码补全提示去找。

    1.8K10

    Flexbox布局杂谈

    甚至苹果官方在iOS9时候推出UIStackView,采用也是FlexBox思路来实现布局。...Flexbox比AutoLayout提供了更多、更规范布局方法,且更容易使用,而且苹果推出使用Flexbox布局思路UIStackView,我们也是需要去了解一下。...Flexbox布局主要思想是,通过 Flex 容器设定属性来改变内部 Flex 项目的宽高,并调整 flex 项目的位置来填充 flex 容器可用空间。 ?...ASOverlayLayoutSpec,覆盖布局 ASRatioLayoutSpec,比例布局 ASRelativeLayoutSpec,相对布局 ASCenterLayoutSpec,居中布局 ASStackLayoutSpec...它和iOS中自带UIStackView类似,布局思路参照了Flexbox,比如horizontalAlignment、alignItems、flexWrap等属性很容易和Flexbox对应上。

    2.2K30

    Ios常用第三方框架(二)

    Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂东西直接都帮封好了。...该项目通过三种形式展示页面之间切换,比如导航栏上多个tab切换、页面左右两端箭头指示切换,以及使用分段控件。...横向展示文本内容自定义cell - 可以横向展示文本内容自定义cell,根据文本无限滚动。...ExpandingStackCells - 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。...FDStackView - 可以将 UIStackView 最低支持版本拉低到 iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView API 即可,同时兼容 Storyboard

    7.7K60

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

    如果用户可以在你应用程序打开超过20个视图,请考虑给视图一个不同展示方式,以提供关于视图详细信息,使其支持不连续导航。 在打开视图底部边缘和屏幕底部边缘里垂直居中页面控件。...因为每个分段都是等宽,当文本长度差异很大时看上去会很不协调。 不要在同一个分段控件中混用文字和图片。每一个分段都仅可支持纯文字或纯图片。...避免在同一个分段控件中,一些分段里使用纯文字,另一些分段里使用纯图。 请在必要时调整分段控件中文本对齐方式。如果你给分段控件添加了自定义底图,请确保控件里自动居中文本依然清晰美观。...你可以通过bar metrics APIs 来调整分段控件内文本对齐方式(想要了解如何定义bar metrics,可以参考 UISegmentedControl 中关于自定义API外观(appearance-customization...iOS提供了各种不同键盘类型,以便用户输入不同类型文本

    13.2K30

    iOS开发常用之网络

    该项目通过三种形式展示页面之间切换,比如导航栏上多个选项卡切换,页面左右两端箭头指示切换,以及使用分段控件。...横向展示文本内容自定义cell - 可以横向展示文本内容自定义cell,根据文本无限滚动。...FDStackView - 可以将UIStackView最低支持版本拉低到iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统UIStackViewAPI即可,同时兼容Storyboard。...QQBtn - 仿QQ读消息弹性按钮动画,达到和手机QQ读信息一样动画效果,效果基本实现。 GMStepper - swift带动画效果,支持手势滑动操作步进标签。...StackViewController - 方便iOS开发者使用UIStackView构造表单或其它静态内容视图。

    23.6K10

    最新iOS设计规范五|3大界面要素:控件(Controls)

    三、情境菜单(Context Menus) 在iOS 13及更高版本中,你可以使用情境菜单让用户访问与APP相关其他功能,而不会使界面混乱。 ?...情境菜单很类似于Peek(轻压手势唤醒)和Pop(重压手势唤醒),但是有两个主要区别: 所有运行iOS 13及更高版本设备都可以使用情境菜单;但Peek和Pop仅适用于支持3D Touch设备。...网络加载指示(Network Activity Indicators) 网络加载指示在iOS 13和全面屏显示设备上已被弃用。...十一、分段控件(Segmented Controls) 分段控件是两个或多个分段线性集合,每个分段都充当一个互斥按钮。在控件内,所有段宽度均相等。像按钮一样,句段可以包含文本或图像。...所有段宽度都是相同,如果段内容(例如段标题)长度或大小不一致,则分段控件看起来会很不协调。 分段控件中不要同时包含文本和图像。

    8.6K30

    计算机科学里最大难题:居中显示

    对齐文本随处可见。让我们看一些例子。...Atom: 前 Twitter 平台: iOS: Mozilla: YouTube: 有时候图标高过文本: 有时候文本高过图标: 有时候两者都未能完美居中: 有些图标就是普通 HTML 表单控件: 有些添加了艺术效果...vertical-align有 13 种取值,但没有哪一个能有效地将文本和图标对齐: text-align: middle 最接近对齐,但是按 x-height 而不是 cap-height 对齐,看起来还是不平衡...现在,文本边界框看起来像下面这样: 问题在于,它还可以像下面这样: 或这样: 现在,如果你试图通过居中边界框来居中文本会怎样? 虽然矩形实现了完美居中,但文本还是偏了。...事实上,大部分流行字体都有点轻微不平衡,许多还很明显: 字帽高度百分比 10% 不是个小数,在 13 号字体中可以占到一个完整像素。如果再放大 2 倍,就比较明显了。

    11010

    计算机科学里最大难题:居中显示

    对齐文本随处可见。让我们看一些例子。...Atom: 前 Twitter 平台: iOS: Mozilla: YouTube: 有时候图标高过文本: 有时候文本高过图标: 有时候两者都未能完美居中: 有些图标就是普通 HTML 表单控件: 有些添加了艺术效果...vertical-align有 13 种取值,但没有哪一个能有效地将文本和图标对齐: text-align: middle 最接近对齐,但是按 x-height 而不是 cap-height 对齐,看起来还是不平衡...现在,文本边界框看起来像下面这样: 问题在于,它还可以像下面这样: 或这样: 现在,如果你试图通过居中边界框来居中文本会怎样? 虽然矩形实现了完美居中,但文本还是偏了。...事实上,大部分流行字体都有点轻微不平衡,许多还很明显: 字帽高度百分比 10% 不是个小数,在 13 号字体中可以占到一个完整像素。如果再放大 2 倍,就比较明显了。

    8910

    测试开发面试知识点

    hashmapkey 对象需要实现equals和hashcode方法 http和https区别 http https(http+ssl) 超文本传输协议 安全套接字层超文本传输协议 明文传输 通信加密...解决实际问题程序。 程序设计语言。用于编写程序。 接口测试 主要用于检测外部系统与系统之间以及内部各个子系统之间交互点。...一次锁定相邻一组记录 锁住整个表 冲突少,速度慢 居中 冲突多,速度快 开销大,加锁慢 居中 开销小,加锁快 会出现死锁 会出现死锁 不会出现死锁 锁定颗粒度最小 居中 锁定颗粒度最大 发生锁冲突概率最低...居中 发生锁冲突概率最高 并发度最高 居中 并发度最低 适合有大量按索引条件并发更新少量不同数据,又有并发查询应用,如OLTP系统 适合以查询为主,少量按索引条件更新数据应用,如WEB应用 共享锁...,采用了分段锁) hashtable线程安全(每个方法都加了synchronize) 初始长度16,每次扩充为2n,指定长度后自动匹配2幂次方 初始长度11,每次扩充为2n+1,会使用指定长度 重新计算

    31421

    http:blog.csdn.netu010105969articledetails53541088

    本文链接:https://blog.csdn.net/u010105969/article/details/101682356 iOS开发中WKWebView与JS交互 之前已经写过一个篇OC与JS...如何改变文本样式 强调文本 强调文本 加粗文本 加粗文本 标记文本 删除文本 引用文本 H2O is是液体。 210 运算结果是 1024. 插入链接与图片 链接: link. 图片: ?...带尺寸图片: ? 居中图片: ? 居中并且带尺寸图片: ? 当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。...使用:---------:居中 使用:----------居左 使用----------:居右 第一列 第二列 第三列 第一列文本居中 第二列文本居右 第三列文本居左 SmartyPants SmartyPants...新甘特图功能,丰富你文章 Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二

    1.6K30

    你会用到 15个前端小知识

    作者:隐冬 https://juejin.cn/post/6898168495591292942 1. css 一行文本超出... overflow: hidden; text-overflow:ellipsis...audio 无法自动播放、循环播放问题 ios 手机在使用 audio 或者 video 播放时候,个别机型无法实现自动播放,可使用下面的代码 hack。...13.Reflect 他是 ES2015 新增对象,纯静态对象也就是不能被实例画,只能通过静态方法方式调用,和 Math 对象类似,只能类似 Math.random 方式调用。...Reflect 内部封装了一系列对对象底层操作,一共 14 个,其中 1 个被废弃,还剩下 13 个。 Reflect 静态方法和 Proxy 描述中方法完全一致。...Proxy 对象默认方法就是调用了 Reflect 内部处理逻辑,也就是如果我们调用 get 方法,那么在内部,proxy 就是将 get 原封不动交给了 Reflect,如下。

    92910
    领券