gpt4 book ai didi

ios - 将 UIButton 添加到数组中

转载 作者:行者123 更新时间:2023-11-30 12:13:08 25 4
gpt4 key购买 nike

我对 Swift 编码还比较陌生,我正在更新应用商店中当前的一个应用。我目前正在为我在 xib 文件中创建的 tableView 的单元格中的内容创建一个数组。它看起来像这样:

`struct callData {
let cell : Int?
let hotlineName : String?
let phoneNumber : String?
let callBtn : UIButton?
let iconImg : UIImage?

init(cell:Int,hotlineName:String,phoneNumber:String, callBtn:UIButton, iconImg:UIImage) {
self.cell = cell
self.hotlineName = hotlineName
self.phoneNumber = phoneNumber
self.callBtn = callBtn
self.iconImg = iconImg

}
}

class _ViewController: UIViewController, UITableViewDelegate,UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

var arrayOfCallData = [callData(
cell: 0,
hotlineName:"",
phoneNumber:"",
callBtn:"",
iconImg: #imageLiteral(resourceName: "smartphone")
)]

`

我不确定如何将按钮(callBtn)插入数组(arrayOfCallData)而不提供大量错误。它的目的是从应用程序的字符串中调用号码,但我不确定如何实现按钮调用的操作。以下是从应用程序内调用的代码示例:

let url = NSURL(string: "tel://8004424673")!
UIApplication.shared.open(url 作为 URL)

我希望能够将其合并到数组 (callBtn) 中,以便我可以创建多个可以调用不同号码的按钮。

最佳答案

在你的callData中,将你的电话号码保存为callBtnAction,你可以在选择器方法中取回它。

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cellIdendifier: String = "CallDataCell"

let cellData = arrayOfCallData[indexPath.row]

let cell : UITableViewCell = tableView.dequeueReusableCell(withIdentifier: cellIdendifier, for: indexPath)
let button = UIButton.init()
button.frame = CGRect.zero //Set your frame here
button.setTitle(cellData.callBtnText, for: UIControlState.normal)
button.tag = indexPath.row
button.addTarget(self, action: Selector(("buttonClicked:")), for: UIControlEvents.touchUpInside)

cell.addSubview(button)
return cell

}

func buttonClicked(sender:UIButton) {
let selectedRow = sender.tag
let callData = arrayOfCallData[selectedRow]
let action = callData.callBtnAction
print(action)

}

关于ios - 将 UIButton 添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45786904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com