すべての向きで画面の上部に留まることを意図した iPad アプリ用の UIToolbar があります。ただし、私の UIToolbar が含まれている UIView は回転しません。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;
}
}
このコードはほとんどの場合、ツールバーを希望どおりに配置しますが、変換を台無しにしたり、ツールバーのコンテンツを引き延ばしたりせずにツールバーのサイズを変更するにはどうすればよいでしょうか? それとも、私はこれを完全に間違ってアプローチしていますか?
編集: コードを少し更新しました。ポジショニングは正しいです。何らかの方法でサイズを変更する必要があります...