我一直在寻找一种将分段控件标题的对齐方式设置为左侧的方法,但我似乎无法实现我想要的。
我创建了这个小函数来更改段控件的 subview 的框架。 一开始它可以工作。
func modifyFrameOfSegment() {
for segment in segmentedControl.subviews {
guard segment.subviews.isNotEmpty else { return }
segment.contentMode = .left
for label in segment.subviews where label is UILabel {
label.frame = CGRect(x: 0, y: label.frame.origin.y, width: label.frame.size.width, height: label.frame.size.height)
(label as! UILabel).textAlignment = .left
}
}
}
但是每次我选择一个新片段时,它都会重置所有 subview 的框架并再次居中对齐所有标题。
有没有办法实现分段控件中分段标题的永久左对齐?
任何提示或建议将不胜感激。
感谢您的宝贵时间。
最佳答案
让我们使用这个方法
self.segmentedControl.setContentPositionAdjustment(UIOffset(horizontal: -20, vertical: 0), forSegmentType: .left, barMetrics: .default)
你可以做你想做的事(当然,你可以根据你的需要改变水平和垂直值)。结果如下:
关于ios - 是否可以将分段控件标题设置为左对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58015302/