Xcode 開発時、iOSアプリの中に画像を表示する方法をまとめました。フル画面でなく、ゲームなどの進行状況に合わせて表示するような画像になります。
画像は、以下のもので、画面サイズに合わせて表示位置、画像サイズを変更する仕様です。
フルサイズでなくサブ画面の位置づけの処理です。画像は、サンプルの画像です…。
元の画像サイズは、220×280です。
使用機種に合わせて、表示する画像の大きさ・位置を変更します。
左からiPad、5.5インチ、4インチ画面のイメージサンプルです。
画像の周りには、テキスト・ボタンなど通常のアプリと同様に設置可能です。
4インチ画面は、幅・高さの倍率を変えています。
//画像セット CGPoint CGP; UIImage *img; //元画像 UIImage *img1a; //縮小後画像 int iphone_gamen = 1; // 画像の判定ロジックは割愛 1:5.5インチ画面、2:4インチ画面 <pre><code>img = [UIImage imageNamed:@&quot;gazou1.png&quot;];//表示する画像のデータです。 float widthPer_1;//幅倍率用変数 float heigthPer_1;//高さ倍率用変数 if (iphone_gamen == 1){//iPhone画面のサイズにより分岐 CGP = CGPointMake(154,390); //5.5インチ画面(画像の中心点) widthPer_1 = 0.9; //幅の倍率変更 heigthPer_1 = 0.9; //高さの倍率変更 }else{ CGP = CGPointMake(154,350); //4インチ画面(画像の中心点) widthPer_1 = 0.75; //幅の倍率変更 heigthPer_1 = 0.6; //高さの倍率変更 }; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { //Ipad CGP = CGPointMake(360,400);//Ipad画面(画像の中心点) widthPer_1 = 1.6; //幅の倍率変更 heigthPer_1 = 1.6; //高さの倍率変更 }; </code></pre> //画像サイズを計算 CGSize sz = CGSizeMake(img.size.width *widthPer_1, img.size.height *heigthPer_1); UIGraphicsBeginImageContext(sz); [img drawInRect:CGRectMake(0,0,sz.width,sz.height)]; img1a = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageView *iv = [[UIImageView alloc] initWithImage:img1a]; <pre><code>iv.center = CGP; CGP=iv.center; float impX = CGP.x; float impY = CGP.y; CGP = CGPointMake(impX,impY); [self.view addSubview:iv];//画面サイズに合わせた表示位置・サイズで表示 </code></pre>