0
我有一個iPad應用程序的UIToolbar,是爲了留在所有的方向屏幕的頂部。然而,我的UIToolbar所屬的UIView不旋轉。 UIToolbar是否旋轉,但我無法讓旋轉以我想要的方式工作...UIToolbar旋轉/動畫
我不知道如何更改工具欄的大小而不拉伸工具欄的內容(設置一個縮放轉換),或者不會搞亂轉換(設置框架或邊界)。
- (void)updateOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated
{
CGAffineTransform toolbarTransform;
switch(orientation) {
case UIDeviceOrientationPortrait:
toolbarTransform = CGAffineTransformIdentity;
break;
case UIDeviceOrientationLandscapeRight:
toolbarTransform = CGAffineTransformMakeTranslation(-768/2 + 44/2, 768/2 - 44/2 + 1024 - 768);
toolbarTransform = CGAffineTransformRotate(toolbarTransform, degreesToRadian(-90));
break;
case UIDeviceOrientationLandscapeLeft:
toolbarTransform = CGAffineTransformMakeTranslation(768/2 - 44/2, 768/2 - 44/2);
toolbarTransform = CGAffineTransformRotate(toolbarTransform, degreesToRadian(90));
break;
case UIDeviceOrientationPortraitUpsideDown:
toolbarTransform = CGAffineTransformMakeTranslation(0, 1024 - 44);
toolbarTransform = CGAffineTransformRotate(toolbarTransform, degreesToRadian(180));
break;
default:
toolbarTransform = CGAffineTransformIdentity;
break;
}
if(animated)
{
[UIView animateWithDuration:.5 animations:^
{
self.toolbar.transform = toolbarTransform;
}];
}
else
{
self.toolbar.transform = toolbarTransform;
}
}
此代碼大多持倉我怎麼想的工具欄,但我應該怎麼做來調整不會弄亂轉換或拉伸工具欄的內容的工具欄?或者我可能完全接近這個錯誤?
編輯:稍微更新了我的代碼。定位是正確的,只需要調整它們...
您應該真正利用UIViewController的自動旋轉功能,而不是嘗試手動將這些功能一起使用。 – 2012-10-16 16:30:05
但我不想讓我的主視圖自動旋轉。如果我能以某種方式將這個嵌套在一個額外的視圖中,這個視圖是自動旋轉的,並且有人可以告訴我怎麼做,那麼我會很好!我不是一起黑客,因爲我想... :( – MikeS
其實,任何形式的自動旋轉都不夠,因爲其他UI元素並不總是與自動旋轉將工具欄放在同一個方向。我基本上必須「破解」在一起,以達到我想要的效果。 – MikeS