Ho un problema con un UIView, spero che tu mi possa aiutare.
Ho un UIView A che contiene alcuni sottoview (B e C) e devo usare una trasformazione 3D su UN (che trasformerà B e C anche). È possibile bloccare la trasformazione B, quindi la trasformazione verrà eseguita solo su A e C?
Grazie in anticipo!
risposte:
1 per risposta № 1Puoi ripetere la trasformazione nella direzione opposta per annullare l'effetto di trasformazione. Per esempio,
for (UIView *subview in [myview subviews])
{
if(subview is B) //Pseudo code
subview.transform = CGAffineTransformInvert(yourTransform);
}
1 per risposta № 2
probabilmente no. quando trasformi la superview A trasformi tutte le subview e così B e C vengono renderizzati nel piano A trasformato. Quindi non puoi trasformare le sottoview B, C al di fuori del piano A. Potresti semplicemente spostare B e C al di fuori delle viste secondarie A e farle diventare viste secondarie della vista A, quindi gestire su di esse la stessa trasformazione di A (o non nel caso di B), ma poi dovresti fare attenzione a gestire le loro posizioni dopo il trasformazioni ...