`
zani
  • 浏览: 356505 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

UIImageView 图片变模糊的原因

 
阅读更多

方法一:

 

此时看看代码中是否用center来定位,如果用center来定位,会使图片边模糊,用frame,

 

CGSize size = charImage.frame.size;
charImage.frame = CGRectMake((int)(centerX - size.width / 2),
                             (int)(centerY - size.height / 2),
                             size.width, size.height);

 且把CGRectMake的第一个和第二个参数转成int类型。

 

 .center setter could set the origin to a non-integer point when either of the width or height is of the wrong parity. As other people have said here, images and text look blurry when they're at non-integer coordinates.

 

==========

方法二:

 将.center 的两个参数都转成int类型,如果图片还是很模糊,看看图片的长宽是否是奇数,如果是的话,将长宽+1,改成偶数.试试.

 参考自:your image dimensions are both odd (45), and setting the center property to an integer point means that your origin is offset to half a pixel (0.5). This will result in a blurry image every time. When setting the center, you must check each dimension and adjust by 0.5 if that dimension is odd. 

 

http://stackoverflow.com/questions/1250674/why-is-my-uiimageview-blurred

 

===============

方法三: 

image.frame.origin.y = 
   floor((container.frame.size.height - image.frame.size.height)/2)

原文介绍:http://twobitlabs.com/2011/08/using-fractional-pixels-to-position-uiimageviews/

分享到:
评论

相关推荐

    3分钟快捷创建高性能轮播图

    概要:封装轮播图,混合加载网络图片和本地图片,实现UIImageView、UILabel的复用,使用内存缓存,磁盘缓存、多线程和runloop解决UI卡顿,定时器等问题。暂时未发现有任何bug,如果您遇到bug希望你能Issues我。 ...

    UIScrollView、UIScrollView基本用法、UIScrollView详解

    1. **UIScrollView 无法滚动的原因** - **未设置 contentSize**:这是最常见的问题之一。如果不正确地设置了 contentSize,UIScrollView 将不知道其内容的大小,也就无法确定滚动的范围。 - **scrollEnabled ...

    ios-TableView.zip

    开发者可以创建一个继承自UITableViewCell的子类,通过重写 `-init` 方法并设置必要的UI元素(如UIImageView、UILabel等)。同时,可以利用`awakeFromNib`方法进行进一步的初始化设置,如设置默认样式、字体等。此外...

    IOS开发高仿苹果相册浏览器

    要使用`Photos`框架,你需要在你的`Info.plist`文件中添加`NSPhotoLibraryUsageDescription`权限请求,以便在访问用户相册时向用户解释原因。 接下来,我们将讨论如何使用`PHAsset`类来代表相册中的媒体资源。`...

    iPhone SDK示例代码解析

    可以通过`UIImageView`来实现图片的加载与显示。 - **示例代码**: ```objective-c CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f); UIImageView *myImage = [[UIImageView alloc] initWithFrame...

    iOS 文件查看与展示

    (data:)`方法加载图片,然后将其设置给`UIImageView`显示。 - 文本文件可以使用`UILabel`或`UITextView`来展示。`UITextView`支持多行文本,可滚动阅读。 - PDF文件,可以利用`UIWebView`或者`PDFKit`来展示。`...

    React Native如何消除启动时白屏的方法

    7. 使用UIImageView 加载占位图片,并将其添加到窗口中。 8. 使用dispatch_sync 和 dispatch_async 实现JS 与原生的通信,移除占位图。 9. 使用UIView 的animateWithDuration 方法实现占位图的渐隐动画。

    touchesBegan: withEvent: 不执行解决

    而对于UIImageView,特别是当设置为可交互(`userInteractionEnabled`为YES)时,它会处理触摸事件,以便可能的交互操作,如图片缩放。由于它们处理了触摸事件,所以事件不会进一步传递到父视图,因此父视图中的`...

    iOS简单版防崩溃处理

    因此,任何时候当你需要更新UI,如修改UILabel的文字、改变UIImageView的图片等,都应确保代码运行在主线程上。可以使用`DispatchQueue.main.async`或者`NSOperationQueue.mainQueue`来确保操作在主线程执行。 3. *...

    iOS11 SectionHeader 胡乱移动且滑动时出现重复内容的解决方法

    let headerImageView = UIImageView(frame: CGRect(x: 10, y: 0, width: 300, height: 30)) let image = UIImage(named: "4-2.png") // 替换为实际图片资源 headerImageView.image = image headerView....

    IOS CoreAnimation中layer动画闪烁的解决方法

    例如,如果你想要移动一个图像(UIImageView),在layer层面上,Core Animation会创建一个临时的“复制”来执行动画,而原始的layer则会被暂时隐藏。当动画结束时,这个临时的layer被移除,原始的layer重新显示出来...

    IOS 性能优化中离屏渲染

    例如,自iOS 9.0以来,对于UIImageView,直接设置PNG图片的圆角不再触发离屏渲染,但添加阴影等其他效果仍然会导致离屏渲染。而对于UIButton,即使在iOS 9.0之后,设置圆角依然会引发离屏渲染。这些变化表明Apple...

Global site tag (gtag.js) - Google Analytics