[英]How to set the height of UISegmentedControl subclass without using auto layout?
我創建了一個UISegmentedControl
子類,我想將其用作UITableView
的節頭視圖。
我希望自定義UISegmentedControl
子類的高度為50pt。
我知道我可以為此創建一個高度約束。 但是,在設置高度約束后,如果將此分段控件用作表視圖的節頭,則會顯示自動布局錯誤(請參閱問題 )。
我嘗試通過調用具有適當高度的init(frame :)方法來設置高度,但這沒有任何效果。
有沒有辦法在不使用自動布局的情況下設置UISegmentedControl
子類的高度?
您可以簡單地使用frames
在sectionHeaderView
設置UISegmentedControl
的size
和position
,即
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
let segmentedControl = UISegmentedControl(frame: CGRect(x: 10, y: 10, width: 200, height: 50))
segmentedControl.insertSegment(withTitle: "First", at: 0, animated: false)
segmentedControl.insertSegment(withTitle: "Second", at: 1, animated: false)
segmentedControl.selectedSegmentIndex = 0
view.addSubview(segmentedControl)
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 70
}
截圖:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.