我有一个大小为200 * 100的Background.png图片,我为uiview设置了背景图片:
UIView view= UIView alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Background.png"]];
现在,我通过以下方式重置框架UIView:
[view setFrame:CGRectMake(50,100,400,200)];
我需要按照uiview的比例调整背景图像的大小,但我只有一个固定大小的Background.png图像。我该怎么做。
答案 0 :(得分:6)
相应地调整你的尺寸
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIView view= UIView alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
view.backgroundColor = [[UIColor alloc] initWithPatternImage:newImage];
否则拍摄图像并设置contentMode
,如果你不想平铺图像
答案 1 :(得分:3)
根据您的需求,最简单的方法是将UIImageView添加为视图的子视图,并设置其图像,让它为您处理调整大小。否则,您可能需要编写一些复杂的大小调整和绘图代码。