ale*_*x_c 4 iphone background-color
我正在使用colorWithPatternImage为重复图像设置视图背景.如果在我第一次设置背景后视图大小发生变化,图像会被拉伸而不是重复新的大小 - 任何想法如何解决这个问题?
这就是我正在做的事情:
在viewDidLoad中设置视图的背景:
frameView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"frame-repeat.png"]];
从服务器获取一些信息,更新视图,更改视图的帧大小以适应新内容(通常,这意味着使视图更高)
即使我使用完全相同的代码再次设置backgroundColor,背景图像现在也会拉伸.
如果我不做初始背景设置,并且只在我从服务器检索数据并更改视图大小后设置它,它看起来很棒 - 重复,没有拉伸.但是,这意味着在加载数据时没有背景......看起来很难看.
有没有其他人遇到这个?
谢谢你的帮助!
答案很简单,只需打电话
[[self view] setNeedsDisplay];
Run Code Online (Sandbox Code Playgroud)
在更改帧大小时控制器中(或者在执行此操作时,底线是在帧更改后向视图发送setNeedsDisplay消息).如果这不起作用 - 尝试设置背景颜色.
如果这不起作用,请实现您自己的自定义视图,并在其中覆盖该方法
- (void) drawRect:(CGRect) rect {
CGRect myBounds = self.bounds;
CGContextRef context = UIGraphicsGetCurrentContext();
[[UIColor colorWithPatternImage:[UIImage imageNamed:@"frame-repeat.png.png"]]set];
CGContextFillRect(context, myBounds);
}
Run Code Online (Sandbox Code Playgroud)
然后,在调整大小后,将setNeedsDisplay发送到您的视图.这将适用于100%.
帕维尔希望这很有帮助
| 归档时间: |
|
| 查看次数: |
6197 次 |
| 最近记录: |