繁体   English   中英

如何在UIView中快速嵌入UILabel

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM