Я реализую простой пасьянс для iOS, который позволяет пользователю перетаскивать карты обычным способом. Карты представлены подклассом UIView
CardView
. Все представления карт являются родственными, которые являются подпредставлениями 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-порядок карты остается неизменным во время перетаскивания. На изображениях ниже я тащу короля. Обратите внимание, что он правильно расположен над девяткой на левом изображении, но неправильно расположен под двойкой (фактически под всем стеком) на правом изображении:
Я также пытался изменить свойство layer.zPosition
. тоже безрезультатно.
Как вывести вид карты на передний план во время перетаскивания? Я озадачен.