[英]How to embed a UILabel inside a UIView in swift
我需要以编程方式快速创建UIView,该视图应包含图像和标签。 另外,我还需要在创建的视图中嵌入该标签和imageview,以便在对视图约束进行动画处理时,标签和图像支架也可以相对于该视图重新定位其位置。 这是我的代码-
func banner(viewController:UIViewController){
let width = UIScreen.main.bounds.width
let dynamicView=UIView(frame: CGRect(x:0,y: -70, width:width, height:70))
let label = UILabel(frame: CGRect(x:0,y: 35, width:width, height:20))
dynamicView.backgroundColor=UIColor.green
label.center = CGPoint(x: width/2, y: 35)
label.textAlignment = .center
label.text = "I'am a test label"
UIView.animate(withDuration: 1) {
dynamicView.frame = dynamicView.frame.offsetBy( dx: 0, dy: 70 )
viewController.view.addSubview(DynamicView)
viewController.view.addSubview(label)
}
UIView.animate(withDuration: 1, delay: 3, usingSpringWithDamping: 1, initialSpringVelocity: 4, options: .curveEaseIn, animations: {
dynamicView.frame = DynamicView.frame.offsetBy( dx: 0, dy: -70 )
}, completion: nil)
}
}
我可以通过分别更改每个视图,标签等的x和y位置来实现。 但是该代码并不简洁。
从问题中可以看出,您正在将标签作为子视图添加到viewController的视图中。 由于您希望将标签嵌入动态视图,因此请尝试将标签添加到动态视图,例如
UIView.animate(withDuration: 1) {
dynamicView.frame = dynamicView.frame.offsetBy( dx: 0, dy: 70 )
viewController.view.addSubview(DynamicView)
dynamicView.addSubview(label)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.