我创建了视图并将其放置在stackview中。
private let myStackView: UIStackView = {
let stackView = UIStackView()
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.axis = .vertical
stackView.alignment = .center
stackView.distribution = .equalSpacing
stackView.spacing = 16
return stackView
}()
private let myTitleLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.textColor = .label
label.textAlignment = .center
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
label.font = UIFont.systemFont(ofSize: 17, weight: .bold)
return label
}()
private let mySubtitleLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.textColor = .secondaryLabel
label.textAlignment = .center
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
label.font = UIFont.systemFont(ofSize: 17)
return label
}()
在viewDidLoad内部,我添加了视图和激活的约束。
myStackView.addArrangedSubview(myImageView)
myStackView.addArrangedSubview(myTitleLabel)
myStackView.addArrangedSubview(mySubtitleLabel)
tableView.addSubview(myStackView)
NSLayoutConstraint.activate([
myStackView.centerXAnchor.constraint(equalTo: self.centerXAnchor),
myStackView.centerYAnchor.constraint(equalTo: self.centerYAnchor)
])
[prefersLargeTitles设置为false时,它看起来像这样
我希望该stackView作为tableView的子视图,因为我希望此视图可滚动。 (我不想使用不可滚动的tableView backgroundView)我在做什么错?
我将stackView放在具有表视图的视图控制器中间时遇到问题。我用tabBarController创建了一个简单的应用程序,每个选项卡栏项都有自己的NavigationView ...
backgroundView
并使stackView居中。