我有一個帶有單獨 UIImages 的陣列,我正在使用 UIImageView 顯示它們,如何向它們添加識別符號,以便我可以使用與該影像相關的特定資料切換到視圖控制器。
下面是代碼:
class Orders2ViewController: UIViewController, OrdersBaseCoordinated {
var orderList: [OrderInfo] = [OrderInfo( itemImage: UIImage(named: "printer.jpeg")!, itemSKU: 12567), OrderInfo(itemImage: UIImage(named: "ipad.jpeg")!, itemSKU: 34521), OrderInfo( itemImage: UIImage(named: "hoodie.jpeg")!, itemSKU: 93620)]
lazy var someImageView: UIImageView = {
let theImageView = UIImageView()
let tap = UITapGestureRecognizer(target: self, action: #selector(Orders2ViewController.tappedMe))
theImageView.addGestureRecognizer(tap)
theImageView.isUserInteractionEnabled = true
theImageView.image = orderList[selectedIndex].itemImage
theImageView.translatesAutoresizingMaskIntoConstraints = false
return theImageView
}()
@objc func tappedMe(sender: UITapGestureRecognizer)
{
coordinator?.passImageData(j: )
}
我想在我的 tappedMe 函式中傳遞一個識別符號以識別被點擊的影像,我確實在 SO 上找到了其他提到gesture.view.tag 的答案,但我不想創建另一個視圖,而是導航到下一個控制器一個識別符號。有沒有辦法做到這一點?
uj5u.com熱心網友回復:
由于 UIImageView 繼承自 UIView,因此您可以使用它的引數tag. 在您的示例中,您可以設定theImageView.tag = orderedList[selectedIndex].itemSKU. 然后每次點擊被識別時,您就可以使用它itemSKU來移動到下一個螢屏。
但是,您似乎在螢屏上只有一個 UIImageView,您可以使用selectedIndex它來確定您需要哪個影像。所以你可以這樣做:
@objc func tappedMe(sender: UITapGestureRecognizer) {
coordinator?.passImageData(j: orderList[selectedIndex].itemImage)
}
我通過了itemImage只是為了向您展示它是如何完成的。你可以使用任何你需要的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518206.html
上一篇:如何在swiftui的導航視圖中隱藏后退按鈕圖示和文本?
下一篇:具有同步功能的任務組
