Emp*_*ack 16 iphone objective-c ios
我有一个大小为64x64的MKMapView.我正在使用'renderInContext:'方法从地图视图创建图像.并将图像分配给UITableViewCell的imageView.在普通的iPhone中,它显示图像正确.但在iPhone(Retina)中它显示的图像模糊不清.我在模拟器中测试这个,而不是在实际设备中.我已经附上了下面的屏幕截图.

左侧的缩略图带有圆角,是UITableViewCell的imageView.右侧的缩略图是MKMapView.
我使用以下代码从地图视图中获取图像.
UIGraphicsBeginImageContext(CGSizeMake(64, 64));
CGContextRef context = UIGraphicsGetCurrentContext();
[[mapView layer] renderInContext:context];
thumbnail_image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)
为什么会在iPhone(Retina)中发生这种情况?如何解决这个问题?
小智 23
使用UIGraphicsBeginImageContextWithOptions而不是UIGraphicsBeginImageContext:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(64, 64), NO, 0.0);
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅QA1703.它说:
注意:从iOS 4开始,UIGraphicsBeginImageContextWithOptions允许您提供比例因子.比例因子为零将其设置为设备主屏幕的比例因子.这使您可以获得显示器的最清晰,最高分辨率的快照,包括Retina显示屏.
| 归档时间: |
|
| 查看次数: |
4200 次 |
| 最近记录: |