点击按钮时显示弹出窗口 Swift
Displaying a pop when button is tapped Swift
我有一个带有自定义单元格的 XIB 文件,它有两个按钮。
基本上,我希望在用户点击按钮时弹出某种对话框,通知他们详细信息。我试图从相应的 Swift 文件显示警报视图,但由于 XIB 文件继承自 UITableViewCell
,我无法显示警报控制器。我还希望用户能够尽可能编辑显示的信息(通过警报控制器)。
在此上下文中,我希望按钮显示用户的 Instagram 和 Twitter @用户名。
import UIKit
class SocialsTableViewCell: UITableViewCell {
@IBOutlet var instagramButton: UIButton!
@IBOutlet var twitterButton: UIButton!
var instagramAt = ""
var twitterAt = ""
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func instagramTapped(_ sender: UIButton) {
print("iNSTA TAPPED")
}
@IBAction func twitterTapped(_ sender: UIButton) {
print(twitterAt)
}
}
您不能显示单元格 class 中的任何内容。您需要 UIViewController 来呈现任何控制器。
有很多方法可以实现。
方式 1: 在根控制器上显示您的控制器。像这样
@IBAction func twitterTapped(_ sender: UIButton) {
UIApplication.shared.windows.first?.rootViewController?.present(/*Your controller*/, animated: true, completion: nil) //<==Here
}
方式 2: 在最上面的控制器上展示您的控制器。 How to find top most controller.
@IBAction func twitterTapped(_ sender: UIButton) {
UIApplication().topMostViewController()?.present(/*Your controller*/, animated: true, completion: nil) //<==Here
}
方式 3: 将您的操作直接绑定到视图控制器 class 并在自身上显示您的控制器。为此,如果您需要索引路径,您可以检查一下。
我有一个带有自定义单元格的 XIB 文件,它有两个按钮。
基本上,我希望在用户点击按钮时弹出某种对话框,通知他们详细信息。我试图从相应的 Swift 文件显示警报视图,但由于 XIB 文件继承自 UITableViewCell
,我无法显示警报控制器。我还希望用户能够尽可能编辑显示的信息(通过警报控制器)。
在此上下文中,我希望按钮显示用户的 Instagram 和 Twitter @用户名。
import UIKit
class SocialsTableViewCell: UITableViewCell {
@IBOutlet var instagramButton: UIButton!
@IBOutlet var twitterButton: UIButton!
var instagramAt = ""
var twitterAt = ""
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func instagramTapped(_ sender: UIButton) {
print("iNSTA TAPPED")
}
@IBAction func twitterTapped(_ sender: UIButton) {
print(twitterAt)
}
}
您不能显示单元格 class 中的任何内容。您需要 UIViewController 来呈现任何控制器。
有很多方法可以实现。
方式 1: 在根控制器上显示您的控制器。像这样
@IBAction func twitterTapped(_ sender: UIButton) {
UIApplication.shared.windows.first?.rootViewController?.present(/*Your controller*/, animated: true, completion: nil) //<==Here
}
方式 2: 在最上面的控制器上展示您的控制器。 How to find top most controller.
@IBAction func twitterTapped(_ sender: UIButton) {
UIApplication().topMostViewController()?.present(/*Your controller*/, animated: true, completion: nil) //<==Here
}
方式 3: 将您的操作直接绑定到视图控制器 class 并在自身上显示您的控制器。为此,如果您需要索引路径,您可以检查一下。