Я хочу показать UIAlertController в пользовательском UITableViewCell нажатием кнопки. но я не могу найти для этого никакого способа. см. ниже код, который я попробовал. Как показать UIAlertController в пользовательском UITableViewCell при нажатии кнопки с помощью быстрого кода?
этот код дает ошибку в UITableViewCel, что показано на рисунке выше. пожалуйста, помогите me.The весь код класса ниже:
class CustomCellDeerCalls: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
@IBOutlet weak var playButton: UIButton!
@IBOutlet weak var detialsInfoButton: UIButton!
@IBOutlet weak var DeerCallNameLabel: UILabel!
var arrayOfDetialsInfoDeerCalls: [String]=["This sound is a doe's way of locating other deer of her family group . This call can be used all year long.",
"Grunts are a doe's way of saying come here , also to call her fawns at feeding time . It is critical to keep the call soft as a loud grunt is too aggressive of a call.",
"A buck grunt is a deeper pitch than a doe grunt , it means the same thing . The older the buck the deeper the tone. ",
"As the buck chases the doe as the rut approaches he is frustrated, and makes a series of soft grunts while trailing her. It's the bucks way of asking her to stop so he can be breed with her.",
"This sound's a lot like a calf bawl , but it is a series of buck bleats. This signals the bucks desire for company.",
"This is a non aggressive and social behaviour that all bucks do after shedding their velvet . This is when the bucks learn who can whip the other . This process does not prevent serious fights later on during the rut.",
"This is the sound that a buck makes during the courtship when the doe stops running , but won't let the buck breed her. It's a non aggressive and frustration call by him.",
"This is the sound that a Doe makes to signal that her breeding time is near.",
"This is the sound that a Doe makes to signal that she ready to breed RIGHT NOW.",
"Deer make this sound to intimidate other deer and prevent fights. This call is often made by a rut- crazed buck when confronted with a rival. This sound can send smaller buck running from the area.",
"Another rut crazed Bucks sound to intimidate other deer and prevent fights when confronted with a rival. This sound can also send smaller buck running from the area.",
"This is a short aggressive rattling sequence to possibly lure in less aggressive, but curious buck, as well as the local dominant whitetail buck of the area. To make this sound like a real fight sniffs, wheezes and grunts have also been thrown in for added effect."]
var arrayOfDeerSoundsCall: [String]=["CONTACT","doegrunt","bkgrunt","tend","bawl","spar","rage","estrusb","bellow","sniff","wheeze","rattle"]
// вар arrayOfCallsName: [String] = [ ""]
@IBAction func clickDetialsInfoButton(sender: AnyObject) {
var alert = UIAlertController(title: "dddddd", message: arrayOfDetialsInfoDeerCalls[sender.tag], preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
//sender.sup
//
}
var audioPlayer = AVAudioPlayer()
@IBAction func clickplayButton(sender: AnyObject) {
println(sender.tag)
var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(arrayOfDeerSoundsCall[sender.tag], ofType: "wav")!)
println(alertSound)
// Removed deprecated use of AVAudioSessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func setCell(callName: String){
self.DeerCallNameLabel.text=callName
}
}
я попробовать это один, но не работает. предупреждение не отображается при нажатии кнопки. Спасибо за ответ. –
Отличное решение! Делегированный метод работает отлично! – mathielo
@IbadUrRahman Для выполнения этой работы вы должны установить свой делегат: 6) в функции 'cellForRowAtIndexPath':' deerNameCell.delegate = self' – magohamoth