web-dev-qa-db-ja.com

ネイティブiPhoneアプリで繰り返し背景画像

UIWebViewをnibファイルの最後のレイヤーとして配置する以外に、繰り返しの背景画像をiPhoneアプリに追加するにはどうすればよいですか(グループ化されたUITableViewの背景にあるコーデュロイの外観のように)。

IPhoneの画面のサイズの画像を作成し、コピーと貼り付けを使用して手動で繰り返す必要がありますか?

47
Frank Schmitt

どうやら、UIColorは必ずしも単一の色ではなく、パターンにすることもできます。紛らわしいことに、これはInterface Builderではサポートされていません。

代わりに、便利なメソッド+ colorWithPatternImage:を使用してビューのbackgroundColorを(たとえば、-viewDidLoadで)設定し、それにUI Imageを渡します。例えば:

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

もちろん、画像ファイルをアプリケーションバンドルに追加することを忘れないでください。

いくつかの組み込みの背景パターン「色」もあります。

  • groupTableViewBackgroundColor
  • viewFlipsideBackgroundColor

はすべてのiPhoneアプリでグローバルに使用されるため、アプリケーションのルックアンドフィールを更新するOSアップデートの両刃の剣がかかります(正しく機能する場合と機能しない場合がある新しい新しい外観を与える)。

例えば:

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

動くタイル張りの背景画像をアニメーション化することもできます。 :D

Apps Amuck には、サイトでこれを行う方法を示す簡単なチュートリアルがあります。

1日間のiPhoneアプリ-16日目:ワールドツアー

2
Chris Craft

AppleのQuartzDemo iPhoneサンプルコード、特にQuartzImageDrawing.mをご覧ください。次のメソッド呼び出しを使用する必要があります。

CGContextDrawTiledImage
2
Dan

ColorWithPatternImageを使用する必要があります

1
Son Nguyen