2008-10-22 61 views
47

在我的笔尖文件中将UIWebView作为最后一层放置的缺点,我如何将重复背景图像添加到iPhone应用程序中(如在分组的UITableView背景中的灯芯绒外观)?在本地iPhone应用程序中重复背景图像

我是否需要创建一个与iPhone屏幕大小相同的图像,并使用复制和粘贴手动重复该图像?

回答

160

显然,UIColor不一定是单一颜色,但也可以是一种图案。令人困惑的是,这在Interface Builder中不受支持。

相反,您可以使用便捷方法+ colorWithPatternImage设置视图的backgroundColor(例如,在-viewDidLoad中),并将其传递给UI图像。对于实例:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"gingham.png"]]; 
} 

当然,不要忘记将图像文件添加到您的应用程序包。

也有一些内置的背景图案“颜色”:

  • groupTableViewBackgroundColor
  • viewFlipsideBackgroundColor

因为跨所有iPhone应用程序在全球使用,它也导致了双刃操作系统更新的剑更新你的应用程序的外观和感觉(给它一个新的外观,可能会或可能不会正常工作)。

例如:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; 
} 
+1

哇,我不知道这件事。伟大的提示! – Lounges 2008-10-22 17:29:22

2

你应该看看苹果的QuartzDemo iPhone示例代码,具体QuartzImageDrawing.m。应该使用以下方法调用。

CGContextDrawTiledImage 
1

您应该使用colorWithPatternImage