如果没有将 UIWebView 作为我的 nib 文件中的最后一层,如何向 iPhone 应用程序添加重复的背景图像(例如分组 UITableView 背景中的灯芯绒外观)?

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

有帮助吗?

解决方案

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

相反,您可以使用便捷方法 +colorWithPatternImage 设置视图的背景颜色(例如,在 -viewDidLoad 中):并向其传递一个 UI 图像。例如:

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

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

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

  • 组表视图背景颜色
  • 查看Flipside背景颜色

由于它们在全球所有 iPhone 应用程序中使用,因此您会遇到操作系统更新更新应用程序外观和感觉的双刃剑(为其提供可能正常工作也可能无法正常工作的全新外观)。

例如:

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

其他提示

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

CGContextDrawTiledImage

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

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

31天iPhone应用程序 - 第16天:世界巡回赛

您应该使用colorWithPatternImage

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top