私は単純なビューベースのアプリケーションを持っています。私はただそれにUILabel
を取っていた。 viewDidLoadで私のコードが続きUILabelの背景に設定されたラベル幅を埋めるためにイメージを伸ばす方法は?
:
lblBack.textColor = [UIColor blueColor];
UIImage *img = [UIImage imageNamed:@"cn3.png"];
lblBack.backgroundColor = [UIColor colorWithPatternImage:img];
lblBack.text = @"Hello World!!!...";
// UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
//
// CGRect rect = CGRectMake(0, 0, lblBack.frame.size.width, lblBack.frame.size.height);
// [imgView setFrame:rect];
// NSLog(@"Rect : %@",NSStringFromCGRect(rect));
// [img drawInRect:rect];
// imgView.contentMode = UIViewContentModeScaleAspectFill;
// imgView.contentMode = UIViewContentModeScaleAspectFit;
// imgView.contentMode = UIViewContentModeScaleToFill;
// [lblBack addSubview:imgView];
コメントは私がしようとしていることのいくつかを示しています。この一枚の画像で
3回繰り返されている:私は次の出力を取得しています。しかし、ラベルの幅を埋めるために画像を引き伸ばす必要があります。
画像をバックグラウンドで追加し、UILabel
にclearColor
を使用することを示す前のリンクの一部を紹介しました。バックグラウンドでのカスタムビューの追加の例も見てください。しかし、私はいけないこのすべては、私はちょうどUILabel
上のすべてのものを実行したい...私は他のソリューションを持っていけない場合を除き使用する
をしたいだけ.... UIImage
か、私が使用したいUIImageView
以外は、他のコントロール..
UIImage *img = [UIImage imageNamed:@"cab.png"];
CGSize imgSize = testLabel.frame.size;
UIGraphicsBeginImageContext(imgSize);
[img drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
testLabel.backgroundColor = [UIColor colorWithPatternImage:newImage];
:
コードがうまくいるようです:lblBack.backgroundColor = [UIColor colorWithPatternImage:img]; //ラベルのフレームを確認しましたか? – samfisher
私はそれをチェックしました...そして幅は320です。 – DShah
@DShah、私の答えはあなたの問題を解決することを願っています..もしそうなら、答えを受け入れてください..そうでなければ、コメントをしてください... – Ilanchezhian