【Objective-C】iPhoneアプリ:アラーム作成-2 背景画像の表示

2012/03/24  カテゴリー:アプリ開発    タグ:タグ: ,



t02200125_0767043710744544896

画像を用意します。 iPhoneの画面に合わせて、サイズは縦960px、横480pxで作ります。 縦480px、横320pxでもいいのかも(^^; pclockフォルだの下に、imagesフォルダを作ってそこに入れておきます。 今回は、5枚にしてみます。 フォルダは、無くてもかまわないのですが、まとめておいた方がわかりやすいので、適当な名前のフォルダを作って入れておきます。 ファイルの名前は、なん […]


画像を用意します。
iPhoneの画面に合わせて、サイズは縦960px、横480pxで作ります。

縦480px、横320pxでもいいのかも(^^;
pclockフォルだの下に、imagesフォルダを作ってそこに入れておきます。
今回は、5枚にしてみます。
iPhoneプログラミング-pro4-1

フォルダは、無くてもかまわないのですが、まとめておいた方がわかりやすいので、適当な名前のフォルダを作って入れておきます。
ファイルの名前は、なんでもいいですが、半角英数字にしておいた方がいいまも。

英字は、シミュレーターでは、大文字、小文字を区別しないんですが、実機だと区別するので注意しましょう。

 

pclockのプロジェクトに画像を追加します。
プロジェクトウインドウのResourcesグループをcontrol+クリック(右クリック)して、「追加」→「既存のファイル」を選びます。
iPhoneプログラミング-pro4-2

ファイルの選択ウインドウが開くのでimagesフォルダを選びます。
iPhoneプログラミング-pro4-3

追加したフォルダに再帰的にグループを作成するを選択して、追加ボタンクリック。
iPhoneプログラミング-pro4-4

 

Resourcesの下に、imagesフォルダが追加されます。
iPhoneプログラミング-pro4-5

pclockViewController.hに変数を追加します。

NSArray *images; //画像用配列

 

画像表示用のアウトレットを追加します。

IBOutlet UIImageView *imageView;

 

Interface Builderを立ち上げて、imageViewを追加します。
LibraryのImage Viewからドラッグ&ドロップして、画面全体に広げて配置します。
iPhoneプログラミング-pro4-7

インスペクタで、Image Viewをアウトレットと結びつけます。

 

iPhoneプログラミング-pro4-8

セーブを忘れないようにしましょう。

 

pclockViewController.mの、viewDidLoadに以下のコードを追加します。

//画像の読み込み
CGRect rect = CGRectMake(0, 0, 320, 480); //画像の表示領域を作成
imageView = [[UIImageView alloc]initWithFrame:rect]; //表示するview を作成
[self.view addSubview:imageView]; //作成したviewを追加

//レイヤーを一番下にする
[self.view.layer insertSublayer:imageView.layer atIndex:0];

//画像を配列に入れておく
images = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@”IMG_0001.jpg”],
[UIImage imageNamed:@”IMG_0002.jpg”],
[UIImage imageNamed:@”IMG_0003.jpg”],
[UIImage imageNamed:@”IMG_0004.jpg”],
[UIImage imageNamed:@”IMG_0005.jpg”],
nil
];

//初期表示画像を指定(images objectAtIndex: 0 で配列の0番目の画像を表示 この例だとIMG_0001.jpg)
imageView.image = [images objectAtIndex: 0];

これで、ビルドしてみましょう。
警告がでると思います。

 

warning: no ‘-insertSublayer:atIndex:’ method found
iPhoneプログラミング-pro4-9

レイヤー関係のヘッダーを指定していないためだと思うので、importしてみます。

pclockViewController.hにimportを追加します。

#import <QuartzCore/CALayer.h>

これで、ビルドすると、警告が消えると思います。

警告の原因になった、

[self.view.layer insertSublayer:imageView.layer atIndex:0];

ですが、atIndex:0とすることでm画像のレイヤーを一番下にしています。

 

レイヤーというのは、透明な板のようなもので、何枚も重ねることができます。
時間の表示の上に、画像を置いてしまうと、時間が見えなくなってしまうために、こうしています。

 

時刻表示の場所とか、フォントは好きなように変えて下さい。

実行すると、こんな感じです。
iPhoneプログラミング-pro4-10

次回は、何秒か毎に画像が変わるようにしてみます。

Share on Google+Tweet about this on TwitterShare on Facebook