我無法在另一個控制器的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