渐变不填满所有的UIView
Gradient does not fill all the UIView
我想创建一个渐变层并将其插入到视图中,但视图未完全填充...
我的实际代码是:
gradientLayer.frame = topView.bounds
gradientLayer.colors = [UIColor.white.cgColor, UIColor.black.cgColor]
topView.layer.insertSublayer(gradientLayer, at: 0)
This is my code and storyboard (In red is the part I want to fill)
This is my result...
我对此一无所知..它适用于全屏视图,但不适用于更小的视图..
顶视图当然是从情节提要中导入的。也许我用 view.bound 做错了我不知道。我是 swift 和 iOS 的初学者,所以一切皆有可能!
编辑:
问题不在于视图的大小,而是图层的大小太小,因为视图的背景颜色填充了所有 space 而不是图层
这与在布局子视图之前不应用故事板中的约束有关。在 viewDidLoad()
处,视图具有情节提要中的固定大小。如果您移动将图层框架设置为 viewDidLayoutSubviews()
的代码,则约束已应用于 topView
并且它具有正确的框架。然后您可以设置图层的框架。
将此添加到您的 ProfileController
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
gradientLayer.frame = topView.frame
}
然后它将填满整个视图。
我想创建一个渐变层并将其插入到视图中,但视图未完全填充...
我的实际代码是:
gradientLayer.frame = topView.bounds
gradientLayer.colors = [UIColor.white.cgColor, UIColor.black.cgColor]
topView.layer.insertSublayer(gradientLayer, at: 0)
This is my code and storyboard (In red is the part I want to fill)
This is my result...
我对此一无所知..它适用于全屏视图,但不适用于更小的视图..
顶视图当然是从情节提要中导入的。也许我用 view.bound 做错了我不知道。我是 swift 和 iOS 的初学者,所以一切皆有可能!
编辑: 问题不在于视图的大小,而是图层的大小太小,因为视图的背景颜色填充了所有 space 而不是图层
这与在布局子视图之前不应用故事板中的约束有关。在 viewDidLoad()
处,视图具有情节提要中的固定大小。如果您移动将图层框架设置为 viewDidLayoutSubviews()
的代码,则约束已应用于 topView
并且它具有正确的框架。然后您可以设置图层的框架。
将此添加到您的 ProfileController
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
gradientLayer.frame = topView.frame
}
然后它将填满整个视图。