iOS:图片相关(18-01-24更)

来源:http://www.chinese-glasses.com 作者:Web前端 人气:123 发布时间:2020-03-14
摘要:时间: 2019-12-01阅读: 48标签: 事件说明 1、图片聊天背景拉伸不失真 openlayers地图加载时,默认会有9个交互事件其中可以看到控制双击缩放事件的DoubleClickZoom我们知道在绘制线时,结束的

时间: 2019-12-01阅读: 48标签: 事件说明

1、图片聊天背景拉伸不失真

openlayers地图加载时,默认会有9个交互事件其中可以看到控制双击缩放事件的DoubleClickZoom我们知道在绘制线时,结束的响应事件也是双击,所以在绘制线时和双击缩放事件就会冲突了。

2、捏合、双击、下拉缩放

解决方案

3、保存UIImage到本地

const dblClickInteraction = map .getInteractions() .getArray() .find(interaction = { return interaction instanceof ol.interaction.DoubleClickZoom; });map.removeInteraction(dblClickInteraction);

4、绘制、解压图片

  0)、用原尺寸绘制 

  1)、修改大小绘制,免得每次拿原始大图片缩放显示

  2)、实例

 

 

附录:

1、压缩图片

 

 

0、写在前面

  1)、图片,显示模式为缩放以充满全屏,需要注意,剪切超出View的部分,否则有时有问题。

self.photoImgV.contentMode = UIViewContentModeScaleAspectFill;
self.photoImgV.clipsToBounds = YES;

  

 

1、图片聊天背景拉伸不失真

  1)、方法1,比较老的

UIImage *originalImage = [UIImage imageNamed:@"sub.png"];
finalImage = [originalImage stretchableImageWithLeftCapWidth:originalImage.size.width/2 topCapHeight:0];

  2)、方法2,比较新的

UIImage *originalImg = [UIImage imageNamed:@"sub"];

CGFloat protectH = originalImg.size.height/2;
CGFloat protectW = originalImg.size.width/2;

UIEdgeInsets protectEdg = UIEdgeInsetsMake(protectH, protectW, protectH, protectW);

UIImage *finalImg = [originalImg resizableImageWithCapInsets:protectEdg resizingMode:UIImageResizingModeStretch];

   后续补充:

    根据情况,设置 Insets ,不一定都要取中点。意义为,分别保护 {0, 0, 0, 0} 到 {top, left, bottom, right} 距离的图片。

 

 

2、捏合、双击、下拉缩放

  1、捏合缩放

    1)、设置最大、最小缩放比例

scrollview.maximumZoomScale = 2.0;
scrollview.minimumZoomScale = 0.5;

    2)、设置代理

scrollview.delegate = self;

    3)、添加上ImageView  

imageView.tag = 101;
[scrollview addSubview:imageView];

    4)、给代理要缩放的View(不一定要添加上才可以缩放,可以缩放不在本 scrollview 的View,效果就很奇葩了)

- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    UIImageView *imageView = [scrollView viewWithTag:101];
    return imageView;
}

 

  2、双击缩放  

    0)、需要注意的地方:

      0-1)、scrollView要设最大/小缩放比例!

      0-2)、因为图片层在最上面,且默认不可交互,所以,图片的View记得userInteractionEnabled = YES 。

      0-3)、ScrollView需要缩小尺寸,重设contentsize的时候,如删除某照片,要先清掉超出的的控件、数据。否则拉到底,弹性的时候,还能看到之前的。

    1)、scrollView才可以缩放,所以要把ImageView加在scrollView,给scrollView添加手势识别。

本文由10bet发布于Web前端,转载请注明出处:iOS:图片相关(18-01-24更)

关键词:

最火资讯