UIView BringSubviewToFront: *не* переводит вид на передний план

Я реализую простой пасьянс для iOS, который позволяет пользователю перетаскивать карты обычным способом. Карты представлены подклассом UIViewCardView. Все представления карт являются родственными, которые являются подпредставлениями SolitaireView. В следующем фрагменте кода делается попытка «поместить карту на передний план» так, чтобы во время перетаскивания она была выше всех остальных представлений:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
   UITouch *touch = [touches anyObject];
   if (touch.view.tag == CARD_TAG) {
      CardView *cardView = (CardView*) touch.view;
      ...
      [self bringSubviewToFront:cardView];
      ...
   }
}

К сожалению, z-порядок карты остается неизменным во время перетаскивания. На изображениях ниже я тащу короля. Обратите внимание, что он правильно расположен над девяткой на левом изображении, но неправильно расположен под двойкой (фактически под всем стеком) на правом изображении:

enter image description hereenter image description here

Я также пытался изменить свойство layer.zPosition. тоже безрезультатно. Как вывести вид карты на передний план во время перетаскивания? Я озадачен.

7
задан wcochran 4 April 2012 в 20:57
поделиться