16

同じ高さと幅で同じ画像を水平方向に複数回追加したいのですが、誰でも助けてくれますか。重要なことは、画像ビューを動的に作成していることです。すべての画像に同じ画像ビューを使用したい! これはここに画像の説明を入力、このように水平に作成したい画像ですが、このここに画像の説明を入力ように必要なのは1行だけです。

4

3 に答える 3

17

次を使用してこれを実現できますstretchableImageWithLeftCapWidth

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]];

そしてあなたの画像を使用して: 繰り返す必要がある小さな緑色の部分

出力は次のとおりです。

コードで作成された出力バナー

UIScrollviewこの画像は、 、 ボタンの上に設定できUIViewます。forそのためのループは必要ありません。

アップデート:

上記のコードは、背景全体を塗りつぶすためのものです。1 行だけ追加する場合は、1 行を作成して以下のようUIViewに設定する必要があります。colorWithPatternImage

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] 
    stretchableImageWithLeftCapWidth:1 topCapHeight:0];
UIView *v=[[UIView alloc]
    initWithFrame:CGRectMake(0, 0, _scro.frame.size.width, 45)];
[v setBackgroundColor:[UIColor 
    colorWithPatternImage:backgroundImage]];
[_scro addSubview:v];
 

そして出力:

上にバナー、下に白い背景

于 2013-08-23T09:31:37.720 に答える
4

画像の高さを確認します。ただし、このビューの幅は任意です。

次に、次のコードを使用して、このビューにタイル イメージを設定します。

UIImage *tiledImage = [UIImage imageNamed:@"myTiledImage.png"];
self.view.backgroundColor = [UIColor colorWithPatternImage:tiledImage];

これにより、画像が水平方向に複数回タイル表示されます。

ビューが画面上のどこにでも画像を広げる場合は、次のコードをビューに追加する必要があります

 self.view.clipToBounds = YES;
于 2013-08-23T09:19:32.007 に答える
0
UIScrollView *myScrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

CGFloat scrollWidth = 0.f;
for (int i=0;i<10;i++)//i=10,put as many image number u want to display
 {

   imageView = [[UIImageView alloc] initWithFrame:
                            CGRectMake(scrollWidth, 0, 80, 60.f)];
    imageView.image=[UIImage imageNamed:@"urimagename"];
    imageView.tag=i;
    [myScrollView addSubview:imageView];

    scrollWidth += 100;
}
myScrollView.contentSize = CGSizeMake(scrollWidth, 100);

編集

これは、もう 1 つの方法で実現できます。

CodenameLambda1 の回答は上記の回答よりも優れていますが、@ CodenameLambda1 の回答でいくつかの変更を行う必要があります.SOP の要件はスクロールビューで表示することであるため、self.view の代わりにスクロールビューを使用します。

UIScrollView *vie=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 60)];
UIImage *tiledImage = [UIImage imageNamed:@"login"];
vie.backgroundColor = [UIColor colorWithPatternImage:tiledImage];
vie.contentSize=CGSizeMake(1400,60);
vie.clipsToBounds = YES;

[self.view addSubview:vie];
于 2013-08-23T09:39:15.697 に答える