我无法在另一个控制器的for循环内以编程方式创建视图。父控制器是一个tableviewcell,我正在通过一个CNContact对象中的一堆电话号码循环。对于每个联系人的电话号码,我希望创建自定义视图并将其添加到tableviewcell并使其垂直堆叠。通过电话号码循环,创建自定义视图并将其传递给电话号码
到目前为止,我设法创建视图并将其添加到tableviewcell中,但无法传递数据。这是将数据从一个控制器传递到另一个控制器,我正在努力。
这里是我的代码:
ContactListTableViewCell.swift
import UIKit
import Contacts
class ContactListTableViewCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var phonenumberView: UIView!
func configureCell(contact: CNContact) {
titleLabel.text = "\(contact.givenName) \(contact.familyName)"
for phoneNumber in contact.phoneNumbers {
let view = self.createContactListTableViewTelephoneRow(telephone: phoneNumber)
self.phonenumberView.addSubview(view)
}
}
func createContactListTableViewTelephoneRow(telephone: Any) -> UIView {
let controller = ContactListTableViewTelephoneRow()
let view = UINib(nibName: "ContactListTableViewTelephoneRow", bundle: nil).instantiate(withOwner: controller, options: nil)[0] as! UIView
return view
}
}
contactListTableViewCell原型内Main.storyboard
ContactListTableViewTelephoneRow.swift
class ContactListTableViewTelephoneRow: UIView {
@IBOutlet var view: UIView!
@IBOutlet weak var telephoneLabel: UILabel!
@IBOutlet weak var telephoneTypeLabel: UILabel!
func setData(telephoneLabelText: String, telephoneTypeLabelText: String) {
telephoneLabel?.text = telephoneLabelText
telephoneTypeLabel?.text = telephoneTypeLabelText
}
}
CONTA ctListTableViewTelephoneRow.xib
任何帮助将非常感激。谢谢。
你能告诉我你是如何发送数据。 – Prabhat