2016-09-02 3 views
0

Я пытаюсь сделать кнопку для съемки и записи видео. Когда будет сделано длинное нажатие, оно будет записано, а 1 коснется снимка. когда кнопка нажата, я хочу преобразовать ее, чтобы создать эффект. однако начало и конец не запускаются, поскольку оно не трансформируется?Состояние началось и закончилось не срабатывающим

func centerButtonPressedDown(sender: UITapGestureRecognizer) { 

    if !pictureTaken { 
     delegate?.didLongTapCameraButton() 


    } else { 

    } 



} 

func centerButtonClicked(sender: UITapGestureRecognizer) { 


    if sender.state == .began { 
     self.centerButton.transform = CGAffineTransform(scaleX: 0.9, y: 0.9) 
    } else if sender.state == .ended { 
     self.centerButton.transform = CGAffineTransform.identity 
    } 





} 

CenterButton

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(centerButtonClicked)) //Tap function will call when user tap on button 
    let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(centerButtonPressedDown)) 
    tapGesture.numberOfTapsRequired = 1 
    centerButton.addGestureRecognizer(tapGesture) 
    centerButton.addGestureRecognizer(longGesture) 
+0

Вы регистрируете UILongtapGesture, но вы можете настроить тип отправителя в вашей функции centerButtonClicked как UITapGesture. – abarbier

+0

Вы ошиблись, постукивая красным и длинным движением функции. Прочитайте мой ответ. – user3182143

ответ

0

Я попробовал ваш код брата first.It показывает мне error.Then я изменил код он прекрасно работает.

let tapGesture = UITapGestureRecognizer(target: self, action:Selector("centerButtonClicked:")) //Tap function will call when user tap on button 
let longGesture = UILongPressGestureRecognizer(target: self, action:Selector("centerButtonPressedDown:")) 
tapGesture.numberOfTapsRequired = 1 
centerButton.addGestureRecognizer(tapGesture) 
centerButton.addGestureRecognizer(longGesture) 


func centerButtonPressedDown(sender: UILongPressGestureRecognizer) { 

    if sender.state == .Began { 
     print("long press began") 
    } 
    else if sender.state == .Ended { 
     print("long press Ended") 
    } 
} 

func centerButtonClicked(sender: UITapGestureRecognizer) { 
    print("tap is detected") 
} 

Когда я Умывальник кнопки печатного результат является

tap is detected 

Когда я долгое нажатие на кнопке напечатанного результата

long press began 
long press Ended