我在UITableView
中使用一个UISegmentedControl
,如下所示:
最初的回答:
在UITableView
中使用UISegmentedControl
的方法如下:
let segmentedControl = UISegmentedControl(items: ["Segment1", "Segment2"])
tableView.tableHeaderView = segmentedControl
以上代码按预期工作。我想改变UISegmentedControl
的高度。我尝试在UISegmentedControl
上设置高度约束,如下所示-
原始答案:Original Answer
let segmentedControl = UISegmentedControl(items: ["Segment1", "Segment2"])
segmentedControl.translatesAutoresizingMaskIntoConstraints = false
segmentedControl.heightAnchor.constraint(equalToConstant: 50).isActive = true
tableView.tableHeaderView = segmentedControl
当运行上述代码时,
UISegmentedControl
的高度设置为预期的自定义高度。然而,UISegmentedControl
的前导和尾随边缘未与UITableView
的前导和尾随边缘对齐。我还尝试创建自定义的
UISegmentedControl
来指定UISegmentedControl
的高度,而不设置高度约束,如下所示-class CustomSegmentedControl: UISegmentedControl {
override var intrinsicContentSize: CGSize {
return CGSize(width: super.intrinsicContentSize.width, height: 50)
}
}
上述代码并不能如预期般工作。有人能指出如何设置
UISegmentedControl
的高度,以便在UITableView
中使用时呈现出预期效果吗?最初的回答:该控件不支持修改高度,但是可以通过改变字体大小来控制高度。你可以尝试使用方法来更改字体大小,以达到所需的高度。