开篇: 第一问,图片显示问题

像优酷那种布局先计算好加载显示,图片后面加载渲染的操作是怎么做到的?
目前能想到的,是服务端返回了图片宽高,⊙∀⊙!,
固定尺寸布局,图片不裁剪不拉伸,怎么才能显示的好看呢???
为啥客户端(iOS/Android)可以显示系统的表情,服务端以及前端不能显示,过滤之后有部分表情可以显示(这一点可以确定,不是图片来的),但我发现大部分APP都可以支持表情的,难道都是图片实现的么???
系统表情是特殊编码? 貌似是这么回事,后端做了过滤,
那是因为数据库版本不支持  
参考链接: http://blog.csdn.net/allangold/article/details/51689350

(转) iOS开发emoji处理方式大起底

关于列表的图片展示,遇到一些不规则的且大小不一的图片该怎么处理呢???

一开始我也以为很简单,直接使用默认的contentModeUIViewContentModeScaleToFill,结果显示出来的图片很丑,拉伸变形,扭曲到无fuck说~ 因为这种模式是

        ///这种只显示局部,多余部分裁剪掉
    photoView.contentMode = UIViewContentModeScaleAspectFill;
    photoView.clipsToBounds = YES;

如下图所示:

typedef NS_ENUM(NSInteger, UIViewContentMode) {
    UIViewContentModeScaleToFill,
//只是整体填满,不管图片死活,
怎么拉伸啊,怎么撕扯啊,怎么挤压啊,
啥都不管,不负责任的~
也就是`UIImageView`的`contentMode`默认的情况

    UIViewContentModeScaleAspectFit,   
///这是整体按比例缩放,这样显示出来的图片最好看,
也不变形,就是不能填满整个ImageView

    UIViewContentModeScaleAspectFill,    
 // contents scaled to fill with fixed aspect. 
some portion of content may be clipped. 
看英文意思也知道,是说会进行等比缩放进行填充,
然后多余部分clipped(裁剪)掉,
注意要加上`imageView.clipsToBounds = YES;`这个操作
  

    UIViewContentModeRedraw,              // redraw on bounds change (calls -setNeedsDisplay) 重新渲染边界大小啥的
    UIViewContentModeCenter,              // contents remain same size. positioned adjusted. 保持原有大小,取中心局部位置的地方,应该也要裁剪操作  (下同)
    UIViewContentModeTop, //上面
    UIViewContentModeBottom,//底部
    UIViewContentModeLeft,//左边
    UIViewContentModeRight,//右边
    UIViewContentModeTopLeft,//左上
    UIViewContentModeTopRight,//右上
    UIViewContentModeBottomLeft,//左下
    UIViewContentModeBottomRight,//右下
};
开篇: 第一问,图片显示问题_第1张图片

你可能感兴趣的:(开篇: 第一问,图片显示问题)