Я пытаюсь добавить UITapGestureRecognizer
к imageview
, как показано нижеUITapGestureRecognizer называют сразу
let gest=UITapGestureRecognizer(target: self, action: Selector(imgPressed()));
gest.delegate=self
thalaImg.addGestureRecognizer(gest)
А вот imgPressed
функция: Я добавил 3 строки кода в viewdidload
func imgPressed()
{
let alert=UIAlertController(title: "Img", message: "img pressed", preferredStyle: .Alert)
let okButton=UIAlertAction(title: "Ok", style: .Default, handler: nil)
alert.addAction(okButton)
presentViewController(alert, animated: true, completion: nil)
}
, добавила точку останова и запустила приложение. Что я заметил, так это то, что как только компилятор дойдет до первой строки, т. е. дайте gest ..., он вызывает метод действия немедленно даже до запуска приложения. Поскольку очевидно window
еще для загрузки, он бросает ниже предупреждение
Warning: Attempt to present on whose view is not in the window hierarchy!
Я не понимаю, почему это происходит .Can кто-то пожалуйста, помогите мне с этим вопросом?
Спасибо
«функ imgPressed() { пусть встревоженной = UIAlertController (название: "Img", сообщение: "IMG нажата", preferredStyle: .Alert) пусть = UIAlertAction OK для подтверждения (название: "Ok", стиль:. по умолчанию обработчика: ноль) alert.addAction (OK для подтверждения) presentViewController (предупреждение, анимированное: правда, завершение: ноль) } –
Хорошо удалить() после того, как imgPressed method.And в двойных кавычках "imgPressed". – Pushpa
Вы работаете над тем, какая быстрая версия означает swift 2.0 или swift 3.0? –