2016-02-01 2 views
0

Я пытаюсь сделать две вещей в Swift:Переключение изображения, когда пользователь нажмите на изображение

· Когда пользователь касается изображений, переключение между отфильтровано, и оригинальными изображениями временно.

· Когда пользователь поднимает палец, переключитесь обратно.

Но я не знаю, какие функции или модули использовать, любые предложения?

У меня есть изображение Просмотр и четыре кнопки 「Новая фотография」, 「Фильтр」, 「Сравнить」, 「Поделиться」.

+0

Как далеко вы получили? У вас есть изображение в представлении с контроллером вида? Что вы пробовали? Ваш вопрос должен быть более конкретным. –

+0

попробуйте использовать только один 'uibutton' с набором свойств' uiimage'. затем установите 'highlightState' и' normalState' –

ответ

1

Попробуйте

override func viewDidLoad(){ 

     super.viewDidLoad() 
     // add Tap gesture recognizer to ImageView 
     let imageView = self.your_imageView 
     let tapGestureRecognizer = UILongPressGestureRecognizer(target:self, action:Selector("toggleImage:")) 
     imageView.userInteractionEnabled = true 
     imageView.addGestureRecognizer(tapGestureRecognizer) 
} 



func toggleImage(sender: UILongPressGestureRecognizer){ 
     if sender.state == .Began{ 
      originalImage() 
     }else if sender.state == .Ended{ 
      filteredImage() 
     } 
} 

Он использует UILongPressGestureRecognizer()

+0

, будет лучше добавить код для установки pressDuration, так как я трачу некоторое время на чтение документов, чтобы понять это. – luiyezheng

0

Я бы рекомендовал посмотреть в UILongPressGestureRecognizer.

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UILongPressGestureRecognizer_Class/index.html#//apple_ref/occ/instp/UILongPressGestureRecognizer/minimumPressDuration

Когда начинается жест, изменить UIImage отображается. Вы можете обнаружить, когда жест заканчивается на UIGestureRecognizerStateEnded. Я уверен, что вы это выясните!

Смежные вопросы