UIViewに多くのUiImageViewがあり、IpadまたはiPhoneの座標に基づいて異なる方法で作成/配置します。これらのUIImageViewのフレームを作成するための現在のロジックは次のとおりです
- (void)setAnimationFrame:(NSString *)imageName iPadFrameX:(int)iPadX iPadFrameY:(int)iPadY iPhoneFrameX:(int)iPhoneX iPhoneFrameY:(int)iPhoneY imageSizePercentForiPad:(CGFloat)imageSizePercentForiPad imageSizePercentForiPhone:(CGFloat)imageSizePercentForiPhone animationNumber:(int)animationNumber imageAnimationView:(UIImageView *)imageAnimationView{
int tagNumber;
tagNumber = [self getTagNumber:animationNumber];
UIImage *image = [UIImage imageNamed:imageName];
CGRect frame;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
frame = CGRectMake(iPadX, iPadY, image.size.width*imageSizePercentForiPad, image.size.height*imageSizePercentForiPad);
}
else
{
frame = CGRectMake(iPhoneX, iPhoneY, image.size.width*imageSizePercentForiPhone, image.size.height*imageSizePercentForiPhone);
}
imageAnimationView.frame = frame;
imageAnimationView.image = image;
imageAnimationView.tag = tagNumber;
}
アプリ全体で画像の配列をUIImageView.animationImagesに渡すことで、多くのUIImageViewアニメーションを実行します。では、iPhone 5と互換性のあるこのようなシナリオを処理するための最良の方法は何ですか?
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
座標を計算してiPhone5を処理するために、もう1つ条件を追加しますか、それとももっと良い方法がありますか。どうぞよろしくお願いいたします。