如何动态创建控件并在swift 4中动态对齐?

anu*_*a B 0 uitextfield ios swift3

我正在使用Swift 4开发iOS应用程序.在该项目中我有要求,我必须动态创建控件以及正确的对齐方式.

例如,当我点击该按钮时,我有一个按钮,我正在接受服务,因为我正在获取包含4个对象的json数据.基于此我必须动态创建控件,动态对齐也应该这样做.我尝试了很多例子和教程.我没有找到任何解决方案.

tab*_*sum 7

在此输入图像描述

您可以使用UITableView,这是示例:

import UIKit

class ViewController: UIViewController {
@IBOutlet weak var tableview: UITableView!
var nameArr :[String] = []
override func viewDidLoad() {
    super.viewDidLoad()
    tableview.delegate  =  self
    tableview.dataSource = self
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
@IBAction func four_btn(_ sender: Any) {
    nameArr.removeAll()
    let nameData = ["First Name","Middle Name","Last Name","DOB"]
    nameArr += nameData
    tableview.reloadData()
}

@IBAction func eight_btn(_ sender: Any) {
    nameArr.removeAll()
    let nameData = ["Salutation","First Name","Middle Name","Last Name","DOB","Gender","Mobile","Email"]
    nameArr += nameData
    tableview.reloadData()
}

}
extension ViewController: UITableViewDataSource, UITableViewDelegate {

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return nameArr.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! tableviewCells
    cell.nameLabel.text = nameArr[indexPath.row]
    return cell
}


}
class tableviewCells : UITableViewCell{
@IBOutlet weak var nameLabel: UILabel!

}
Run Code Online (Sandbox Code Playgroud)