中心和不重复View.BackgroundColor(Iphone)

时间:2010-01-11 03:26:01

标签: objective-c iphone

我在我的视图中添加了一个背景:


    UIImage *picture = [UIImage imageNamed:@"myImage.jpg"];
    self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:picture];

问题是我的画面对于屏幕来说不够大,所以它重复多次并且它也不在视图的中心。我怎么能改变它?

谢谢,

2 个答案:

答案 0 :(得分:2)

如果要使用这样的背景图像,则使用UIImageView,而不是标准视图的backgroundColor属性。在Interface Builder中,添加一个UIImageView,将其大小调整为与视图相同的大小(调整struts和spring以匹配),为其提供图像,并使视图透明。

答案 1 :(得分:0)

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
//view. =[UIImage imageNamed:@"15-tags.png"] ;//[UIColor redColor];

UIGraphicsBeginImageContext(view.frame.size);

int iImageWid=30;
int iImageHei=30;
CGRect rcCenter=CGRectMake(view.frame.origin.x+(view.frame.size.width-iImageWid)/2, view.frame.origin.y+(view.frame.size.height-iImageHei)/2, iImageWid, iImageHei);

[[UIImage imageNamed:@"15-tags.png"] drawInRect:rcCenter];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

view.backgroundColor = [UIColor colorWithPatternImage:image];