我想在tuple =
let range = float 0.0 500.0
in flatMap (\max -> (max, float 0.0 max)) range
的底部添加静态UIView
。这是一个用swift编写的故事板应用程序。在我UIViewController
我做了类似的事。
viewDidLoad()
但这对我的self.vWindow = UIApplication.sharedApplication().keyWindow
let mainBound = CGRectMake(0, self.view.frame.size.height-135, self.view.frame.size.width, 135)//CGSizeMake(UIScreen.mainScreen().bounds.size.width, 135.0)
self.vwVideo = UIView.init(frame: mainBound)
self.vwVideo.backgroundColor = UIColor.blackColor()
self.vWindow.addSubview(self.vwVideo)
没有任何补充。这是为什么?请帮我。
感谢
答案 0 :(得分:2)
let vWindow = UIApplication.sharedApplication().keyWindow
let mainBound = CGRectMake(0, self.view.frame.size.height-135, self.view.frame.size.width, 135)//CGSizeMake(UIScreen.mainScreen().bounds.size.width, 135.0)
self.vwVideo = UIView.init(frame: mainBound)
self.vwVideo.backgroundColor = UIColor.blackColor()
vWindow!.addSubview(self.vwVideo)
答案 1 :(得分:1)
您不应将视图直接附加到窗口,将其添加到ViewController。
尝试这样的事情:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// without autolayout
let header = UIView(frame: CGRectMake(0,0, view.bounds.size.width, 50))
header.backgroundColor = UIColor.redColor()
view.addSubview(header)
// with auto layout
let footer = UIView()
footer.backgroundColor = UIColor.blackColor()
footer.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(footer)
NSLayoutConstraint(item: footer, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 50).active = true
NSLayoutConstraint(item: footer, attribute: .Leading, relatedBy: .Equal, toItem: view, attribute: .Leading, multiplier: 1.0, constant: 0).active = true
NSLayoutConstraint(item: footer, attribute: .Trailing, relatedBy: .Equal, toItem: view, attribute: .Trailing, multiplier: 1.0, constant: 0).active = true
NSLayoutConstraint(item: footer, attribute: .Bottom, relatedBy: .Equal, toItem: view, attribute: .Bottom, multiplier: 1.0, constant: 0).active = true
}
这里有两种附加视图的方法,一种是自动布局,一种是固定大小和位置。
如果你想添加复杂的视图,你最好在故事板中创建一个nib .. .a视图,你可以在需要时加载它。
如果你需要在许多地方出现这个视图,你可以看看而不是将它附加到父视图,可能是类似导航控制器或分页视图控制器,但你需要管理什么时候它应该而且不应该是显示。
答案 2 :(得分:0)
我想将您创建的视图添加到window
我认为。您需要查看当前内容视图,例如
self.view.addSubView(self.vwVideo)
你不需要采取窗口和界限,你可以简单地实现它,像
let bottomView: UIView = UIView(frame: CGRectMake(0, self.view.frame.size.height - 135, self.view.frame.size.width, 135))
self.view!.addSubview(bottomView)
希望这会有所帮助:)
答案 3 :(得分:0)
使用AutoLayout做得更好。 将您的视图添加到superview
view.addSubview(footerView)
然后使用
禁用将遮罩自动转换为约束 footerView.translatesAutoresizingMaskIntoConstraints = false
然后使用以下代码行添加约束
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[view]-0-|", options: [], metrics: nil, views: ["view":footerView]))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[view(135)]-0-|", options: [], metrics: nil, views: ["view":footerView]))