gos*_*pps 5 cocoa-touch uiimageview uiimage ios ios6
我有一个可以在水平方向拉伸的图像,但需要垂直平铺(一个在另一个之上)以填充我的视图。我怎么能这样做呢?
我知道可以使用该方法调整图像的大小-(UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets。因此,这对于水平方向非常有效,但该方法不能用于垂直方向,它确实需要平铺,而不是在垂直方向拉伸才能工作。
现在我的想法是运行一个循环,创建一个具有水平拉伸图像的 UIImageView,然后简单地调整frame.origin.y 属性,然后将其添加为每个循环的子视图,直到超过高度的视图。然而,这似乎是一种过于复杂的方法,并且当需要调整视图大小时(例如在 iPad 旋转上),实际上并不实用。
在 iOS 6.x 上有更简单、更有效的方法吗?
您是否考虑过使用UIColor的方法colorWithPatternImage:创建重复图案并仅传递具有正确水平宽度的图像?
代码示例:
// On your desired View Controller
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *patternImage = [UIImage imageNamed:@"repeating_pattern"];
self.view.backgroundColor = [UIColor colorWithPatternImage:patternImage];
// ... do your other stuff here...
}
Run Code Online (Sandbox Code Playgroud)