【发布时间】:2018-03-13 04:10:30
【问题描述】:
您好,我想创建一个包含 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)")
}
【问题讨论】:
-
使用滚动视图。将您的段控制器添加到滚动视图中。
-
使用分段控件以外的东西。也许是一个选择器视图。
-
将您的段控件嵌入到滚动视图中。还可以通过设置其框架来限制段控件以显示 3,4 个可见文本。
-
可能,让分段控件包含 20 个项目不是良好的用户体验,您可能需要为其选择另一个合适的视图,例如选择器视图或表格视图...
标签: ios swift uisegmentedcontrol human-interface