use*_*657 3 iphone cocoa-touch ios
iI'm使用图案图像作为背景颜色为一个UITableViewCell由
cell.backgroundColor = [UIColor colorWithPatternImage[UIImage imageNamed:@"image.png"]]
Run Code Online (Sandbox Code Playgroud)
但是,我希望图案图像的底部与单元格的底部对齐.默认情况下,图像的左上角与单元格的原点对齐.我需要这个的原因是因为单元格的高度是可变的,但无论高度如何,底部都需要看起来相同.
Apple文档指定为了更改模式图像的相位,[UIColor colorWothPatternImage]应将color()设为当前颜色,然后调用CGContextSetPatternPhase.但是,我不确定如何在设置UITableViewCell's backgroundColor 的上下文中使用此方法cellForRowAtIndexPath.
我意识到之前已经问过这个问题,但它没有回答我的问题.
我看到很久以前就问过这个问题了,你可能已经找到了一个解决方案,但我偶然发现了同样的问题并找到了解决方案并认为我应该将其发布以供将来参考.在同一件事情上不止一个人头疼的感觉:)
首先,您必须为您希望UIColor移入的任何视图创建子类.所以在这种情况下,UITableViewCell.
..最后,在drawRect:方法中使用此代码来移动原点.而且你已经完成了!
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGSize phase = CGSizeMake(0, self.bounds.size.height); // CHANGE THESE VALUES TO WHATEVER X/Y SHIFT YOU NEED
CGContextSetPatternPhase(context, phase);
CGColorRef color = self.backgroundColor.CGColor;
CGContextSetFillColorWithColor(context, color);
CGContextFillRect(context, self.bounds);
CGContextRestoreGState(context);
Run Code Online (Sandbox Code Playgroud)
移位的工作原理是通过"相位"的宽度和高度值来移动原点.
希望有所帮助!(别忘了[super drawRect:]!)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |