Swift3 运行后将嵌套的stackview动态添加到现有stackview
斯威夫特新手在这里,试图学习代码。不过我有javascript背景。我使用故事板中的嵌套堆栈视图设计了一个简单的界面: 层次结构是Swift3 运行后将嵌套的stackview动态添加到现有stackview,swift3,Swift3,斯威夫特新手在这里,试图学习代码。不过我有javascript背景。我使用故事板中的嵌套堆栈视图设计了一个简单的界面: 层次结构是 Vertical Stack -Horizontal Stack -Vertical Stack Label Textfield -Vertical Stack Label TextField 我基本上已经设置了一个类似于表的显示,每次用户单击“添加成员按钮”时,
Vertical Stack
-Horizontal Stack
-Vertical Stack
Label
Textfield
-Vertical Stack
Label
TextField
我基本上已经设置了一个类似于表的显示,每次用户单击“添加成员按钮”时,我都要复制它所需要的内容,并将其添加到堆栈顶部。添加一个新的水平堆栈,该堆栈由两个垂直堆栈组成,其中包含标签和文本字段
当我按下按钮时,什么也没发生。也没有错误。我用指纹确认按钮事件正在触发
以下是控制器代码:
class createCrewController: UIViewController{
//MARK: Properties
var memberList:UIStackView!
override func viewDidLoad() {
super.viewDidLoad()
memberList = view.viewWithTag(1) as! UIStackView!;
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
var rowArray = [UIStackView]()
//MARK: Actions
@IBAction func addMemberBTN(_ sender: UIButton) {
//Create name and TextField
let nameLabel = UILabel();
nameLabel.text = "Name";
let nameTextField = UITextField();
nameTextField.placeholder = "Enter Name";
let phoneLabel = UILabel();
phoneLabel.text = "Name";
let phoneTextField = UITextField();
phoneTextField.placeholder = "Enter Phone";
//Insert them into vertical Stack
let nameRow = UIStackView(arrangedSubviews: [nameLabel,nameTextField]);
nameRow.axis = .vertical;
let phoneRow = UIStackView(arrangedSubviews: [phoneLabel,phoneTextField]);
phoneRow.axis = .vertical;
let columnView = UIStackView(arrangedSubviews:[nameRow,phoneRow]);
columnView.axis = .horizontal;
self.memberList.addSubview(columnView);
}