同じ高さと幅で同じ画像を水平方向に複数回追加したいのですが、誰でも助けてくれますか。重要なことは、画像ビューを動的に作成していることです。すべての画像に同じ画像ビューを使用したい! これは、このように水平に作成したい画像ですが、この
ように必要なのは1行だけです。
8745 次
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 に答える