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