2015-07-25 3 views
0

Возможно ли сделать другой вид без использования кнопки?View Controller issue

Я пытаюсь сделать так, чтобы, если человек «CGIntersectsRects» UIImageView, , он перенесет меня в другой контроллер просмотра.

Так что в основном я спрашиваю, возможно ли его перемещение между контроллерами представлений без использования кнопки, и если да, то как?

Заранее спасибо

ответ

1

Всегда переход от одного ViewController к другому осуществляется с помощью некоторого кода, который толкает или представляет или выполняет segue для целевого viewController. Дело в том, когда вы выполняете этот код. Поскольку вы не используете кнопку, вы должны определить, что именно должно вызвать изменение экрана.

Что вы подразумеваете под «Я пытаюсь сделать так, чтобы, если человек« CGIntersectsRects »UIImageView, он перенесет меня в другой контроллер просмотра», является неоднозначным.

Если вы хотите загрузить экран, когда пользователь коснется UIImageView, вы можете использовать кнопку вместо ImageView и установить соответствующее изображение для этой кнопки. Другим способом является использование метода (void) touchhesBegan: в вашем viewController для определения точки, в которой получено касание, и посмотреть, попадет ли затронутая точка внутрь рамки изображения.

Еще один простой способ - добавить распознаватель жестов в UIImageView.

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTouched)]; 

    - (void)imageViewTouched { 
     //Code to load the new screen 
    } 

Если вы пытаетесь загрузить новый экран всякий раз, когда два вида перекрываются, то вы должны наблюдать за KVO notification for the frame property of the interested view.

0

Да, вы можете сделать это с помощью комбинации раскадровки и файла реализации UIViewController.

Во-первых, подключить два контроллера с Segue в раскадровки файле Connection from first view controller to the second

Затем нажмите на Segue вы создали и установить имя идентификатора. Имя это что-то описательный, как «imageSegue»

Наконец, вернитесь в функцию, которая вызывается, когда пользователь пересекается с UIImageView и выполнить SEGUE

func imageIntersection() { 
    self.performSegueWithIdentifier("imageSegue", sender: self) //Use the Storyboard identifier name 
} 

Это заставит регулятор тока вид на непосредственно перейти к который вы подключили к нему в раскадровке