2010-09-22 4 views
0

У меня есть просмотров. Один поверх другого.Странная ошибка с Просмотр взаимодействия

Но я не могу щелкнуть подзоны верхнего вида, пока не установлю альфа нижнего вида на 0.0.

Зачем это было? Есть ли какая-то работа?

Код участвует

-(void)setUpOpponentsCardStartingPosition 
{ 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 

CGRect newF = deckCard.view.frame; 

newF.origin.x -= CGRectGetWidth(newF); 

deckCard.view.layer.transform = CATransform3DIdentity; 
deckCard.view.frame = newF; 
deckCard.view.alpha = 0.0; 

[UIView commitAnimations]; 

playersCard.view.layer.transform = CATransform3DScale(CATransform3DIdentity, 0.97, 
0.97, 1.0); 

opponentsCard.view.layer.transform = CATransform3DRotate(CATransform3DIdentity, - 
    35*M_PI/180, 0.0, 1.0, 0.0);  
opponentsCard.view.layer.transform = 
    CATransform3DScale(opponentsCard.view.layer.transform, 0.65, 0.675, 1.0); 
opponentsCard.view.layer.transform = 
    CATransform3DTranslate(opponentsCard.view.layer.transform, 400, 0, 0); 
opponentsCard.view.hidden = NO; 
} 

если я закомментируйте deckCard.view.alpha = 0.0; это не позволит мне взаимодействовать с playersCard. Для меня это не имеет смысла, так как playerCard находится на вершине.

Здесь вы код установки для deckCard

-(void)setupDeckInBackground 
{ 
deckCard.view.alpha = 0.0; 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.75]; 

deckCard.view.frame = playersCard.view.frame; 
deckCard.view.alpha = 1.0; 

deckCard.view.layer.zPosition = -1; 
deckCard.view.layer.transform = CATransform3DMakeRotation(M_PI/180*5, 0, 0, 1); 
deckCard.view.layer.transform = CATransform3DScale(deckCard.view.layer.transform, 
1.0, 1.0, 1.0); 
deckCard.view.layer.transform = 
    CATransform3DTranslate(deckCard.view.layer.transform, 0, 0, -25); 
[UIView commitAnimations]; 

} 

Благодаря -кода

ответ

0

Я обнаружил, что решение было использовать

deckCard.view.userInteractionEnabled = NO; 

Спасибо, -кода

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