ios 自動 画像を水平方向と垂直方向に繰り返す




photoshop 歪み補正 自動 (4)

bluePatternView.backgroundColor = UIColor(patternImage: UIImage(named: "blue_pattern")!)

次の画像を繰り返します。

次の背景を達成するために:

私は以下のようにいくつかのコードを試してみました:

bluePatternView.backgroundColor = [UIColor colorWithPatternImage:
    [[UIImage imageNamed:@"blue_pattern.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:0]];

そして:

bluePatternView.backgroundColor = 
    [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]];

私はCGContextDrawTiledImageで画像を描画しようとしても成功しませんでした。

どのようにそれをすることができますか?

編集:luk2302を実装した結果。 投票によって彼に認識を与えてください

bluePatternView.backgroundColor = 
  [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]];

結果:


私のコメントがすでに言ったように:使用

bluePatternView.backgroundColor = 
  [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]];

あなたはあなたのイメージを伸ばしたくありません。 UIKitに繰り返しの世話をさせましょう。

bluePatternViewが、パターンを背景として設定したい実際の大きなビューであると想定します。 そのコードがまだ機能していない場合は、間違ったビューのbackgroundプロパティを設定している可能性があります。

注意:同じ画像を@ 2倍と@ 3倍の拡張子で複製すると、より高解像度のデバイスを正しく動作させることができます。


images.xcassetsに解決策が見つかりました、

ステップ1: - images.xcassetsにあなたの画像を入れて

ステップ2: -画像をクリックしてから、「Show Slicing」と書かれた右下隅をクリックします。

ステップ3: -開始スライスをクリックします

ステップ4: - 「水平方向と垂直方向にスライス」ボタンをクリック

ステップ5: -ここで、3-Horizo​​ntalと3-Verticalのスライスラインが表示されます。

  • 一番左の縦線を画像の左側に、両方の一番右の線を画像の右側に配置します。
  • 一番上の行をイメージの一番上に、一番下の行をイメージの一番下に配置します。
  • したがって、最終結果は次のようになります。

ステップ6: -この画像を使用してください。

そして今度はイメージが繰り返されます。

注: - あなたが2倍の画像にスライスを与えるならば、それはちょうど2倍の画像を繰り返すでしょう、3倍の画像のためにあなたは同じスライスをする必要があります。

アップルによる例


このようにstretchableImageWithLeftCapWidthを使用してBellowメソッドでこれを: -

UIImage *backgroundImage = [[UIImage imageNamed:@"SheetBackground.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0];

あなたの必要性の例のように: -

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0];

  [_scro setBackgroundColor:[UIColor colorWithPatternImage:backgroundImage]];






imageview