以编程方式创建与点击按钮关联的标签

所以

假设我有一个文本字段和按钮。按钮和文本字段有一个 IBaction 关联。

单击按钮时,它将创建一个标签,其中包含在文本字段中键入的文本。同时在标签字段旁边创建按钮。(如播放或暂停按钮)

添加静态元素很容易,只需拖放即可。但我不知道如何通过布局和约束以编程方式添加这些 UI 元素。

请告诉我更多有关它的信息或提供一些链接给我。

劳利特

应该有多种方法来实现您的目标。以下是如何向子视图添加包含标签和按钮以及约束的子视图的示例。默认textFieldbutton被添加到故事板中。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var button: UIButton!

    var lastY: CGFloat = 100

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func buttonClicked(_ sender: UIButton) {
        let contentView = UIView()
        addViewsTo(contentView)
        contentView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(contentView)

        // Add size constraints to the content view (260, 30)
        NSLayoutConstraint(item: contentView, attribute: .width, relatedBy: .equal,
                           toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: 260.0).isActive = true
        NSLayoutConstraint(item: contentView, attribute: .height, relatedBy: .equal,
                           toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: 30.0).isActive = true
        // Add position constraints to the content view (horizontal center, 100 from the top)
        NSLayoutConstraint(item: contentView, attribute: .top, relatedBy: .equal, toItem: view, attribute: .top, multiplier: 1.0, constant: lastY).isActive = true
        NSLayoutConstraint(item: contentView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1.0, constant: 0.0).isActive = true

        // Update last Y position to have the gaps between views to be 10
        lastY += 40
    }

    // Add label and button to the content view
    func addViewsTo(_ contentView: UIView) {
        // Add a label with size of (100, 30)
        let label = UILabel()
        label.text = textField.text
        label.frame = CGRect(x: 0.0, y: 0.0, width: 100.0, height: 30.0)
        contentView.addSubview(label)

        // Add a button with size of (150, 30)
        let button = UIButton()
        button.setTitle("Button of \(textField.text ?? "")", for: .normal)
        button.setTitleColor(.blue, for: .normal)
        button.layer.borderWidth = 1
        button.layer.borderColor = UIColor.black.cgColor
        button.frame = CGRect(x: 110.0, y: 0.0, width: 150.0, height: 30.0)
        contentView.addSubview(button)        
    }
}

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何识别以编程方式创建的按钮标签

来自分类Dev

以编程方式创建按钮

来自分类Dev

以编程方式创建按钮数组

来自分类Dev

C# - 以编程方式创建时将面板关联到按钮

来自分类Dev

如何使标签的项目以编程方式创建?

来自分类Dev

如何使标签的项目以编程方式创建?

来自分类Dev

获取以编程方式创建的视图标签

来自分类Dev

以编程方式创建的按钮缺少圆角

来自分类Dev

以编程方式在不同位置创建按钮

来自分类Dev

以编程方式按顺序创建按钮

来自分类Dev

如何居中以编程方式创建的单选按钮?

来自分类Dev

以编程方式创建的按钮缺少圆角

来自分类Dev

更改以编程方式创建的按钮的属性

来自分类Dev

Android-以编程方式创建按钮

来自分类Dev

Android问题与以编程方式创建的按钮

来自分类Dev

以编程方式在 XML 上创建的复制按钮

来自分类Dev

从以编程方式创建的按钮事件调用函数

来自分类Dev

如何以编程方式创建链接按钮?

来自分类Dev

以编程方式触发Android上按钮的点击事件

来自分类Dev

iOS:使用IB创建按钮与以编程方式创建按钮

来自分类Dev

以编程方式创建标签时如何设置标签文本颜色

来自分类Dev

如何以编程方式调用/访问按钮操作中的标签?

来自分类Dev

使用JSF以编程方式创建HTML表单fieldset标签

来自分类Dev

更新以编程方式创建的标签导航栏项目

来自分类Dev

使用JSF以编程方式创建HTML表单fieldset标签

来自分类Dev

iOS/Swift 4:从以编程方式创建的标签更改颜色

来自分类Dev

django-taggit:如何以编程方式创建标签?

来自分类Dev

spannablestring不适用于以编程方式创建的按钮

来自分类Dev

以编程方式创建具有唯一ID的按钮

Related 相关文章

热门标签

归档