您好,我想创建一个包含 20 多个项目的动态 UISegmented 视图。我尝试了一下,但输出是这样的。
文本被切片,不完全可见。我希望它向左和向右滚动并显示全文。有人可以帮我解决这个问题吗? tnx
视图控制器
override func viewDidLoad() {
super.viewDidLoad()
let items = ["All Fruits", "Orange", "Grapes", "Banana", "Mango", "papaya", "coconut", "django"]
let filtersSegment = UISegmentedControl(items: items)
filtersSegment.frame = CGRect.init(x: 10, y: 60, width: 300, height: 50)
filtersSegment.selectedSegmentIndex = 0
filtersSegment.tintColor = UIColor.black
filtersSegment.addTarget(self, action: #selector(self.filterApply), for: UIControlEvents.valueChanged)
self.view.addSubview(filtersSegment)
}
@objc private func filterApply(segment:UISegmentedControl) -> Void {
print("Selected Index : \(segment.selectedSegmentIndex)")
}
你可以尝试像
[[UILabel appearanceWhenContainedIn:[UISegmentedControl class], nil] setNumberOfLines:0];
segment.apportionsSegmentWidthsByContent = YES;
Swift :
就像是,
UILabel.appearance(whenContainedInInstancesOf: [UISegmentedControl.self]).numberOfLines = 0
segment.apportionsSegmentWidthsByContent = true
您可以在滚动视图中进行分段控制。但与UI分段控件 https://developer.apple.com/documentation/uikit/uisegmentedcontrol您不应使用超过四或五个段。它的主要目的是显示三到四个选项!你应该尝试不同的机制来实现你的目标!
你应该参考这个帖子 https://stackoverflow.com/questions/38520242/how-to-resize-text-font-to-fit-in-uisegment-of-uisegmentedcontrol如果有帮助的话也可以!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)