Ios 添加子视图不起作用
我正在尝试创建一个弹出视图 给你Ios 添加子视图不起作用,ios,xcode,swift,uiview,popup,Ios,Xcode,Swift,Uiview,Popup,我正在尝试创建一个弹出视图 给你 let popOver = UIView() popOver.hidden = true popOver.frame = CGRectMake(self.view.frame.width / 2 - 150, self.view.frame.height / 2 - 150, 250, 250) popOver.backgroundColor = UIColor.whiteColor() let lbl = U
let popOver = UIView()
popOver.hidden = true
popOver.frame = CGRectMake(self.view.frame.width / 2 - 150, self.view.frame.height / 2 - 150, 250, 250)
popOver.backgroundColor = UIColor.whiteColor()
let lbl = UILabel()
lbl.text = "blablabla"
lbl.backgroundColor = UIColor.redColor()
lbl.textColor = UIColor.yellowColor()
popOver.addSubview(lbl)
lbl.center = popOver.center
popOver.bringSubviewToFront(lbl)
self.view.addSubview(popOver)
popOver.center = self.view.center
popOver.layer.cornerRadius = 9
UIView.animateWithDuration(2.0, animations: {
self.popOver.hidden = false
})
}
一切正常,只是现在每当我尝试执行我的应用程序时都会显示标签。我只看到白色的框架:
我的错误是什么?你的标签位置错了
let lbl = UILabel()
lbl.frame = CGRectMake(0, 0, 25, 25)
lbl.text = "blablabla"
lbl.backgroundColor = UIColor.redColor()
lbl.textColor = UIColor.yellowColor()
popOver.addSubview(lbl)
//lbl.center = popOver.center
lbl.center = CGPointMake(popOver.frame.width / 2, popOver.frame.height/2)
你的标签位置错了
let lbl = UILabel()
lbl.frame = CGRectMake(0, 0, 25, 25)
lbl.text = "blablabla"
lbl.backgroundColor = UIColor.redColor()
lbl.textColor = UIColor.yellowColor()
popOver.addSubview(lbl)
//lbl.center = popOver.center
lbl.center = CGPointMake(popOver.frame.width / 2, popOver.frame.height/2)
试试这个
let popOver = UIView()
popOver.hidden = true
popOver.frame = CGRectMake(self.view.frame.width / 2 - 150, self.view.frame.height / 2 - 150, 250, 250)
popOver.backgroundColor = UIColor.whiteColor()
popOver.center = self.view.center
popOver.layer.cornerRadius = 9
self.view.addSubview(popOver)
let lbl = UILabel()
lbl.text = "blablabla"
lbl.backgroundColor = UIColor.redColor()
lbl.textColor = UIColor.yellowColor()
lbl.frame = CGRectMake((popOver.frame.size.width / 2)-50, (popOver.frame.size.height / 2)-50, 100,100)
//lbl.center = popOver.center
popOver.addSubview(lbl)
popOver.bringSubviewToFront(lbl)
UIView.animateWithDuration(1.0, animations: {
popOver.hidden = false
})
输出是
试试这个
let popOver = UIView()
popOver.hidden = true
popOver.frame = CGRectMake(self.view.frame.width / 2 - 150, self.view.frame.height / 2 - 150, 250, 250)
popOver.backgroundColor = UIColor.whiteColor()
popOver.center = self.view.center
popOver.layer.cornerRadius = 9
self.view.addSubview(popOver)
let lbl = UILabel()
lbl.text = "blablabla"
lbl.backgroundColor = UIColor.redColor()
lbl.textColor = UIColor.yellowColor()
lbl.frame = CGRectMake((popOver.frame.size.width / 2)-50, (popOver.frame.size.height / 2)-50, 100,100)
//lbl.center = popOver.center
popOver.addSubview(lbl)
popOver.bringSubviewToFront(lbl)
UIView.animateWithDuration(1.0, animations: {
popOver.hidden = false
})
输出是
为什么?同样的效果与您的example@HrenoHrenovich . 请更改
lbl.center
作为我的答案。@HrenoHrenovich。你试过我的答案了吗popOver.center
与我说的“CGPointMake(popOver.frame.width/2,popOver.frame.height/2)”不同-是的。我忘了框架。Thanks@HrenoHrenovich. 没关系。试着帮你。为什么?同样的效果与您的example@HrenoHrenovich . 请更改lbl.center
作为我的答案。@HrenoHrenovich。你试过我的答案了吗popOver.center
与我说的“CGPointMake(popOver.frame.width/2,popOver.frame.height/2)”不同-是的。我忘了框架。Thanks@HrenoHrenovich. 没关系。试着帮你。ZZ您是否尝试显式设置uilabel的框架?谢谢,我没有设置框架。就是这样,您是否尝试显式设置uilabel的框架?谢谢,我没有设置框架。就这样