#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"]
和:
// 使用table view bounds 所以背景view是table view的大小 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;