1

アプリケーションの背景を設定するためにヘッダーファイルを使用しています。私は次のようなものを持っています:

#define backgroundImage [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.jpeg"]] 

UIImageViewしかし、私はの代わりに使用したいですUIColor。私は私ができることを知っています:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)
[imageView setImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundView = imageView;

しかし、どうすればそれを使用でき#defineますか?

4

1 に答える 1

2

#defineはプリプロセッサディレクティブです。これがやろうとしていることは、あなたが使うところならどこでもあなたbackgroundImageが得るでしょう[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.jpeg"]]

これを処理する最良の方法は、#defineを使用して画像名を指定することです。

#define kBackgroundImage @"background.png"

そして、それをコードで使用します。

// Use the table view bounds so the background view is the size of the table view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.tableView.bounds;

[imageView setImage:[UIImage imageNamed:kBackgroundImage]];
self.tableView.backgroundView = imageView;

ただし、必要に応じて、次のことができます。

#define kBackgroundImage [UIImage imageNamed:@"background.png"]

と:

//テーブルビューの境界を使用して、背景ビューがテーブルビューのサイズになるようにしますUIImageView * imageView = [[UIImageView alloc] initWithFrame:self.tableView.bounds;

[imageView setImage:kBackgroundImage];
self.tableView.backgroundView = imageView;

コードブロック全体をプリプロセッサで定義することを選択した場合は、を使用\して新しい行を作成できます。

#define UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.tableView.bounds; \
[imageView setImage:[UIImage imageNamed:kBackgroundImage]]; \
self.tableView.backgroundView = imageView; 
于 2012-07-08T00:18:16.717 に答える