2016-03-16 2 views
0

Я использую collectionView, и я настроил collectionViewCell в отдельном классе с типом (collectionViewCell). Я хочу выполнить анимацию, когда пользователь нажимает на ячейку. Итак, я создал UIButton в коллекцииViewCell, и я настроил его, чтобы покрыть всю ячейку.Выберите ячейку по UIButton - CollectionViewCell - Swift

 button = UIButton(frame: self.frame) 
    button.addTarget(self, action: "scaleToSmall", forControlEvents: .TouchDown) 
    self.addSubview(button) 

Прямо сейчас анимация работает отлично, но вопрос я потерял способность выбрать ячейку, а функция didSelectItemAtIndexPath не называют больше

Я узнал, как получить indexPath из ячейка, которая щелкнула,

Но как я могу назвать didSelectItemAtIndexPath снова и сказать ему, эта ячейка выбрана для того, чтобы выполнить следующее действие (переход к другой ViewController) ???

Спасибо заранее!

+0

Как создать пользовательский сегмент, который выполняет пользовательскую анимацию: [tutorial] (http://blog.dadabeatnik.com/2013/10/13/custom-segues/). – Gasim

+1

Зачем вам нужна кнопка? Не можете ли вы просто оживить функцию didSelectItemAtIndexPath? –

ответ

0

Вы сказали, что создали кнопку, которая охватывает всю ячейку, если у меня есть это право. Из-за этого didSelectRowAtIndexPath ничего не сделает, потому что эта кнопка закрывает всю ячейку. Например, возьмите приложение Twitter. Вы можете нажать на ячейку, чтобы открыть твит или вы можете нажать на изображение профиля пользователя, чтобы открыть свой профиль. В этом случае, как будто у вас есть кнопка изображения профиля, охватывающая всю ячейку. Возможно, вы можете настроить анимацию в файле didSelectRowAtIndexPath или сделать кнопку меньше.

Надеюсь, это поможет!

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