以编程方式在子视图中创建 UIButton 不起作用
Posted
技术标签:
【中文标题】以编程方式在子视图中创建 UIButton 不起作用【英文标题】:Creating a UIButton inside a subView programmatically not working 【发布时间】:2017-01-02 16:35:20 【问题描述】:我正在尝试在名为 containerView 的 UIView 中添加一个 UIButton。 containerView 显示正常,但 UIButton 根本没有显示。这是我的代码:
let containerView = UIView()
override func viewDidAppear(_ animated: Bool)
super.viewDidAppear(true)
self.containerView.frame = CGRect(x: self.view.frame.size.width - 100, y: 200, width: 225, height: 70)
self.containerView.backgroundColor = UIColor.gray
self.containerView.layer.cornerRadius = 20
self.containerView.clipsToBounds = true
self.view.addSubview(self.containerView)
let button1: UIButton = UIButton()
button1.frame = CGRect(x: self.view.frame.size.width - 70, y: 200, width: 35, height: 35)
button1.clipsToBounds = true
button1.setTitle("Tesing Button", for: .normal)
self.containerView.addSubview(button1)
有什么帮助吗?谢谢!
【问题讨论】:
您能否测试将按钮的 x 和 y 原点设为 0 看看会发生什么? 您的容器视图是 225 宽和 70 高,并且您将按钮置于可能在视图之外的 x 值,而 y (200) 肯定是。 尝试将 x 和 y 设置为宽度和高度的一半,看看您输入的坐标是否根本不起作用。这是由 self.view.frame.size.width /2 完成的 啊,它正在获取相对于容器视图的坐标!谢谢大家! 【参考方案1】:您的按钮框架位置不正确。您已将 y
的值设置为 200,这超出了容器视图的大小。
【讨论】:
以上是关于以编程方式在子视图中创建 UIButton 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
对于以编程方式创建的 UIButton,有时不会触发按钮单击事件