我已经启用了自动布局在iOS视图,并有UIToolbar一个UISearchBar与UISegmentControl载带的工具栏.我想要UISearchBar有一个灵活的宽度,所以我需要添加一个约束来强制这个,但从我可以告诉你不能添加约束到UIToolbar接口生成器中的项目.所有选项均已禁用.
在AutoLayout我完成这个之前autoresizingmasks.
是否允许约束UIToolbars/UINavigationBars?
使用autolayout时如何才能实现这一目标?
我遇到了自动/动态UITableView节头视图的问题,其中包含一个包装的UILabel(numberOfLines = 0).高度未正确计算,尤其是在滚动表格并重新使用视图后.有时UILabel包裹,有时它被截断,有时一个或多个标签不可见,有时标签之间有额外的间距.自定义视图包含一个带有三个UILabel的垂直UIStackView,其中一个包装.
可以在https://github.com/outerstorm/tableviewHeaderTest找到演示该问题的完整示例应用程序.
截面标题高度在viewDidLoad中设置为自动,具有以下内容:
tableView.sectionHeaderHeight = UITableViewAutomaticDimension
tableView.estimatedSectionHeaderHeight = 30.0
Run Code Online (Sandbox Code Playgroud)
并且还实现了以下heightForHeaderInSection,试图让它工作:
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return UITableViewAutomaticDimension
}
Run Code Online (Sandbox Code Playgroud)
我也尝试在各个点调用setNeedsLayout()和layoutIfNeeded()无济于事.任何建议将不胜感激.
以下是应用中看到的行为的屏幕截图.第一部分是截止的,第二部分太高了:
uitableview ios uitableviewautomaticdimension uitableviewsectionheader
ios ×3
autolayout ×1
swift ×1
swiftui ×1
uitableview ×1
uitableviewautomaticdimension ×1
uitoolbar ×1