在本机iPhone应用程序中重复背景图像

时间:2008-10-22 04:38:07

标签: iphone cocoa-touch native repeat

如果将UIWebView作为我的nib文件中最后面的图层,我怎样才能将重复的背景图像添加到iPhone应用程序(如分组UITableView背景中的灯芯绒外观)?

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

4 个答案:

答案 0 :(得分: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 :(得分:2)

您应该查看Apple的QuartzDemo iPhone示例代码,特别是QuartzImageDrawing.m。应该使用以下方法调用。

CGContextDrawTiledImage

答案 2 :(得分:2)

您甚至可以拥有移动的动画平铺背景图像。 :d

Apps Amuck有一个简单的教程,向您展示如何在他们的网站上执行此操作。

31 Days of iPhone Apps - Day 16: World Tour

答案 3 :(得分:1)

您应该使用colorWithPatternImage