2015-12-03 2 views
1

У меня есть UICollectionView в моем контроллере. Он был настроен и работает отлично.Swift 2 - Принесите выбранную ячейку CollectionView перед другими ячейками

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

Код У меня есть масштабирование ячейки, однако я не могу найти способ заставить ячейку выбрано перейти к передней части других ячеек. Прямо сейчас ячейка выбрала ее всегда позади ячейки перед выбранным.

Как я могу заставить ячейку изменить масштаб перед другими ячейками?

@IBAction func detailBtnAction(sender:UIButton){ 

     let indexUser = (sender.layer.valueForKey("indexBtn")) as! Int 
     let indexPath = NSIndexPath(forItem: indexUser, inSection: 0) 
     let feedCell = feedCollectionView.cellForItemAtIndexPath(indexPath) 
      feedCell?.bringSubviewToFront(feedCollectionView) 

     feedCell?.contentView.bringSubviewToFront(feedCollectionView) 

     UIView.animateWithDuration(1.0) {() -> Void in 
      feedCell?.transform = CGAffineTransformMakeScale(5, 5) 
     } 

} 
+0

Мне кажется, что вы делаете, это плохая идея. В общем, комплексные объекты пользовательского интерфейса Apple (виды коллекции, представления таблиц, сборщики и т. Д.) Следует рассматривать как «черные ящики», и вы не должны связываться с их иерархиями представлений. В случае представлений коллекции вы владеете содержимым каждой ячейки, но манипулирование размером/порядком/преобразованием самих ячеек может вызвать проблемы. –

ответ

1

Кажется, что у вас есть порядок вещей, немного перепутанных.

Из документов:

перемещает указанный подвид, так что он появляется на вершине своих братьев и сестер.

функ bringSubviewToFront (_ вид: UIView)

Параметров

зрение - подтаблица двигаться вперед.

Этот метод перемещает указанное представление в конец массива представлений в свойстве subviews.

Так ваш звонок:
feedCell?.contentView.bringSubviewToFront(feedCollectionView)
на самом деле означает, что клетки sontentview должны переместить feedCollectionView на фронт.
Теперь это некоторые образованные гадать на основе именование, но он должен скорее выглядеть:
feedCollectionView.bringSubviewToFront(feedCell?)

Вы можете передать саму клетку там, как он наследует от UIView.

+1

Большое вам спасибо .. Не знаю, почему я делал наоборот! – SNos

+0

Нет проблем, иногда очевидные вещи наиболее трудно обнаружить;] – Losiowaty

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