如何设置背景显示全屏?
Posted
技术标签:
【中文标题】如何设置背景显示全屏?【英文标题】:how can I setting background show full screen? 【发布时间】:2021-10-17 14:12:44 【问题描述】:如何设置背景全屏显示?
当我使用这段代码时,我可以设置全屏
private let usernameEmailField: UITextField =
let field = UITextField()
field.placeholder = "email"
field.returnKeyType = .next
field.leftViewMode = .always
field.leftView = UIView(frame: CGRect(x:0, y:0, width: 10, height: 0))
field.autocapitalizationType = .none
field.autocorrectionType = .no
field.layer.masksToBounds = true
field.layer.cornerRadius = Constants.cornerRadius
field.backgroundColor = .secondarySystemBackground
field.layer.borderWidth = 1.0
field.layer.borderColor = UIColor.secondaryLabel.cgColor
return field
()
private let headerView: UIView =
let header = UIView()
header.clipsToBounds = true
let backgroundImageView = UIImageView(image: UIImage(named: "camping_background"))
header.addSubview(backgroundImageView)
return header
()
headerView.frame = CGRect(
x: 0,
y: 0.0,
width: view.width,
height: view.height
)
usernameEmailField.frame = CGRect(
x: 25,
y: headerView.botoom + 10,
width: view.width - 50,
height: 52.0
)
但如果我设置height: view.height
我无法显示我的文本字段。那么如何修改呢?
headerView.frame = CGRect(
x: 0,
y: 0.0,
width: view.width,
height: view.height
)
usernameEmailField.frame = CGRect(
x: 25,
y: headerView.botoom + 10,
width: view.width - 50,
height: 52.0
)
passwordField.frame = CGRect(
x: 25,
y: usernameEmailField.botoom + 10,
width: view.width - 50,
height: 52.0
)
如果我使用height: view.height/3.0
,如果可以显示文本字段,但背景不是全屏
我希望我能像这样展示,这是我的android页面。
所以,如果我不使用情节提要,如何在我的 LoginViewController 中进行设计
【问题讨论】:
【参考方案1】:看看这里的代码:
headerView.addSubview(backgroundImageView)
...
headerView.botoom + 10,
您正在垂直堆叠视图和背景!
但是
您应该将图像设置在文本字段后面(而不是在它们上方)
这是您的视图层次结构的样子:
- Main View
- Main Content
- Logo image view
- User name text field
- Password text field
- Login button
- Create account button
- Background image view
如您所见,Background image view
在其他内容的下方
请注意,不需要对内容进行分组来布局视图,但它是一种非常有用的分离组件的方法
【讨论】:
怎么修改?因为我是初学者以上是关于如何设置背景显示全屏?的主要内容,如果未能解决你的问题,请参考以下文章