2012-03-30 13 views
0

Ich habe ein Problem mit einem UIView, hoffe, Sie können mir helfen.Wie Transformationen auf UIView blockieren

Ich habe ein UIView A, die einige subview (B und C) enthält, und ich habe auf A eine Transformation 3D verwenden (die B und C auch verwandeln). Es ist möglich, die Transformation B zu blockieren, also wird die Transformation nur auf A und C durchgeführt?

Vielen Dank im Voraus!

Antwort

1

Sie können die Transformation in umgekehrter Richtung wiederholen, um den Transformationseffekt aufzuheben. Zum Beispiel

for (UIView *subview in [myview subviews]) 
{ 
    if(subview is B) //Pseudo code 
    subview.transform = CGAffineTransformInvert(yourTransform); 
} 
+0

absolut perfekt :), vielen Dank! –

+0

@MarcoPace Froh, dass es geholfen hat :) – Vignesh

1

wahrscheinlich nicht. Wenn Sie den Superview A transformieren, transformieren Sie alle Subviews und so werden B und C in der transformierten A-Ebene gerendert. Daher können Sie die Teilansichten B, C außerhalb der A-Ebene nicht transformieren. Sie könnten einfach B und C außerhalb von A Unteransichten verschieben und sie Unteransichten von A Superview lassen, dann auf ihnen die gleiche Transformation von A verwalten (oder nicht im Fall von B), aber dann sollten Sie vorsichtig sein, ihre Positionen nach zu verwalten die Transformationen ...

+0

Danke für die Antwort, es ist korrekt, aber Vigneschs Antwort lösen mein Problem auch :) –