我是Swift的新手。点击FDatebutton
时没有得到子视图@IBAction func FDateButton(sender: AnyObject) {
tag = 20
self.view.endEditing(true)
DatePicker.hidden = false
DatePickerView.hidden = false
DatePickerView.frame = CGRectMake(0, UIScreen.mainScreen().bounds.size.height/4, UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height/2)
DatePickerView.backgroundColor = UIColor(colorLiteralRed: 0.65, green: 0.36, blue: 0.64, alpha: 1.0)
self.view.addSubview(DatePickerView)
}
答案 0 :(得分:0)
<强>可能性强>
Autolayout
(默认情况下实际已启用),则在将UIView
设置为translateAutoresizingMaskToConstraints
之后,将框架设置为任何false
将无效LI>
Autolayout
,然后设置frame属性。 (这不是最好的方法,因为现在使用Autolayout
是最好的做法。)最佳实践
NSLayoutConstraint
的出口并将其连接到您希望在运行时更改的Interface Builder约束。您需要做什么
translateAutoresizingMaskToConstraints
false
至DatePickerView
希望能够发挥作用
答案 1 :(得分:0)
您可以打印datePickerView.frame
并使用Xcode中的Visual View Debugger来查看您的视图是否以及在哪里。
我不认为从主窗口中获取视图大小是个好主意。如果用户在iPad上使用分屏模式怎么办?它还能以您想要的方式工作吗?使用自动布局是更好的选择。
此外,每次单击FDateButton
时,都会添加新子视图。
答案 2 :(得分:0)
使用CGRect(x:0,y:UIScreen.mainScreen()。bounds.size.height / 4,width:UIScreen.mainScreen()。bounds.size.width,height:UIScreen.mainScreen()。bounds。 size.height / 2)方法而不是CGRectMake。纠正你的代码,它将正常工作。