2010-07-02 14 views
9

Ekranda çocuk görünümlerinden birine sahip olmamaya çalışıyorum (bir görünüm denetleyicisine aittir) aygıt döndüğünde döndürün. Görünüm denetleyicim, gerektiğinde dönüşlere izin veriyor ve genel dönüşe karşı koymak için bir "durağan" görünüme 90 derecelik bir dönüş uygulamaya çalışıyorum.UIView veya katmanına dönüş dönüşümü ayarlanmış gibi görünmüyor mu?

Sorun şu ki, her şey her durumda değişiyor gibi görünüyor ve dönüşüm hiçbir şey yapmıyor gibi görünüyor. Görünüm üzerinde bir afine dönüşümü ve katman üzerinde (aşağıda) bir 3d dönüşümü ile denedim. Yöntem deniyor, ama asla görsel bir fark görmüyorum.

Herhangi bir düşünce? Teşekkürler.

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration 
{ 
    CALayer *layer = stuckview.layer; 
    layer.transform = CATransform3DMakeRotation(90, 0, 0, 1); 
}  

cevap

26

, ben gibi bir çift aranabilir ifadeler ekliyorum:

UIView dönüşünü durdurmak

dönen bir UIView önlemek

dönen bir UITableView arka önlemek

bir UITableView arka plan döndürmesini durdurma

herhangi bir yönlendirme için tam bir örneği:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
    { 
     switch (toInterfaceOrientation) { 
      case UIInterfaceOrientationLandscapeLeft: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI_2); // 90 degress 
       break; 
      case UIInterfaceOrientationLandscapeRight: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI + M_PI_2); // 270 degrees 
       break; 
      case UIInterfaceOrientationPortraitUpsideDown: 
       stuckview.transform = CGAffineTransformMakeRotation(M_PI); // 180 degrees 
       break; 
      default: 
       stuckview.transform = CGAffineTransformMakeRotation(0.0); 
       break; 
     } 
    } 
+0

nasıl kontrol ve UIInterfaceOrientationPortraitUpsideDown IOS 6. –

+0

bir CALayer veya UIView stuckview olan çalışmıyor bulmak? –

+0

@AdamWaite - A UIView, ad ve açıklama ile belirtildiği gibi! ;-) – nekno

4

Kodunuz gerçekten yürütülür mü? (Eğer shouldAutorotateToInterfaceOrientation uygulamak musunuz:?)

stuckview.transform = CGAffineTransformMakeRotation(M_PI_2); 

iş yapmak gerekir.

Not: İşlevler radyanları derece almaz. Başkalarının bu bulmasına yardımcı olmak

İlgili konular