我在UIView
上添加了loadingComponent
,UINavigationController
,并且我试图将约束设置为全屏。问题是topAnchor
的loadingComponent
从navigationBar
的底部开始。
static func usingAutoLayout() -> Self {
let anyUIView = self.init()
anyUIView.translatesAutoresizingMaskIntoConstraints = false
return anyUIView
}
private let loadingComponent: LoadingComponent = {
let loadingComponent = LoadingComponent.usingAutoLayout()
loadingComponent.render(with: .configure(.init(backgroundColor: ColorName.white.color,
styleText: StyledText(text: L10n.Submit.Upload.inProgress,
style: StyleSheet.Label.boldDark19),
alpha: 1.0)))
return loadingComponent
}()
private func defineSubviewsConstraints() {
self.stackView.pinToBounds(of: self)
NSLayoutConstraint.activate([
self.loadingComponent.topAnchor.constraint(equalTo: self.topAnchor),
self.loadingComponent.bottomAnchor.constraint(equalTo: self.bottomAnchor),
self.loadingComponent.leadingAnchor.constraint(equalTo: self.leadingAnchor),
self.loadingComponent.trailingAnchor.constraint(equalTo: self.trailingAnchor)
])
}
在向视图添加约束之前,您需要将translatesAutoresizingMaskIntoConstraints
属性设置为false
。
loadingComponent.translatesAutoresizingMaskIntoConstraints = false