scrollview 图片放大 捏合 瓦片地图 相关注意事项
就职文博公司要为博物馆做APP 涉及到瓦片地图的编写 在这里总结一些开发中遇到的问题 (将会不断更新 也是学习阶段)
着急写项目的同学 可以直接看code4上现成的瓦片地图代码:http://www.code4app.com/ios/Tiled-Scroll-View/4fba3fd66803fa8413000000
1. 首先实现利用scrollview实现图片的缩放: 需要设置
maximumZoomScale; // default is 1.0. must be > minimum zoom scale to enable zooming *****只有设置了这个属性值大于1.0 才能实现缩放效果
下面上代码
//.h 文件
#import <UIKit/UIKit.h> @interface HDMapView : UIScrollView <UIScrollViewDelegate> -(instancetype)initWithFrame:(CGRect)frame andContentSize:(CGSize)contentSize; -(void)setMapImage:(UIImage*)image; @end //.m 文件
#import "HDMapView.h" @interface HDMapView () @property(strong,nonatomic)UIImageView *myImageView;
@end @implementation HDMapView -(instancetype)initWithFrame:(CGRect)frame andContentSize:(CGSize)contentSize
{
self = [super initWithFrame:frame];
if (self) { self.maximumZoomScale=; self.frame = frame;
self.delegate = self;
self.contentSize = contentSize; self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(, , contentSize.width, contentSize.height)];
self.myImageView.userInteractionEnabled = YES;
[self addSubview:self.myImageView]; UITapGestureRecognizer *twiceTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapTwice)];
twiceTap.numberOfTapsRequired = ;
twiceTap.numberOfTouchesRequired = ;
[self.myImageView addGestureRecognizer:twiceTap];
} return self;
} -(void)tapTwice
{
if (self.zoomScale > ) {
[self setZoomScale:1.0 animated:YES];
}
else
{
CGFloat a = self.zoomScale;
a++;
[self setZoomScale:a animated:YES];;
}
} -(void)setMapImage:(UIImage*)image
{
self.myImageView.image = image;
} #pragma mark - UIScrollViewDelegate
-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.myImageView;
} -(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
[self setZoomScale:scale animated:YES];
}
scrollview 图片放大 捏合 瓦片地图 相关注意事项的更多相关文章
- cocos2dx进阶学习之瓦片地图编辑器
之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具 这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图 步骤1 将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是 ...
- hammer使用: 代码:捏合、捏开、图片放大 的一个手机图片“放大缩小可拖动”的小效果
hammer.js 的使用. (手机手势插件) 捏合.捏开.图片放大 的一个手机图片“放大缩小可拖动”的小效果. 相关js 到 http://www.bootcdn.cn/ 查找和下载. hamme ...
- Android实现图片放大缩小
package com.min.Test_Gallery; import android.app.Activity; import android.graphics.Bitmap; import an ...
- Android开发10:传感器器及地图相关应用
前言 啦啦啦~各位小伙伴们好~经过这一学期的Android知识的学习,我们学到了很多和Android开发相关的知识,这一学期的学习也要告一段落了. 一起进入我们今天的相关内容~这次我们将一起学习使用 ...
- cocos creator主程入门教程(九)—— 瓦片地图
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇介绍瓦片地图,在开发模拟经营类游戏.SLG类游戏.RPG游戏,都会使用到瓦片地图.瓦片地图地面是通 ...
- Geoserver 谷歌瓦片地图的使用 多级发布
下面,我来介绍一下如何在离线的情况下,在Geoserver 中配置出如同谷歌地图般绚丽的效果. 为了让大家有动力看我我接下来写的东西,我先把结果图给大伙儿展现一下: 正如上图所示,该地图是谷歌第四级的 ...
- 推荐两款简单好用的图片放大jquery插件
一.zoomfiy.js 推荐可以从这里下载 使用说明: 使用该jquery 插件引入该插件的js:zoomfiy.js 或 min引入该插件的css:zoomfiy.css 或 min前后顺序都可j ...
- OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
开源与成熟商业的瓦片地图服务(TMS 2 WMTS),都有如下共同的特性,基本成为了标准: (1) 坐标系:WGS84 (2) 投影:墨卡托投影(Marcator,正轴等角圆柱投影) ------ ...
- Cocos2d-JS中瓦片地图API
为了访问瓦片地图,Cocos2d-JS中访问瓦片地图API,主要的类有:TMXTiledMap.TMXLayer和TMXObjectGroup等.1.TMXTiledMapTMXTiledMap是瓦片 ...
随机推荐
- 轻量级前端MVVM框架avalon - 控制器
引子: 最近工作挺忙,avalon只能断断续续的写下去了,大概看了下angular的源码,看到小一半就比较难坚持了,是块硬骨头,慢慢啃吧 不过angular的的文档中用词还是很优雅: HTML编译器 ...
- 门外汉的IT
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机很早就走入了我的生活.小学时,家里放一台联想“天琴”的电脑.它霸气的音箱造型 ...
- PopupWindow底部弹出
说明:从屏幕底部弹出PopupWindow,有弹出隐藏动画效果.背景设置透明度. 效果图如下: 1.MainActivity.java 显示popwindow,宽高跟屏幕大小一样,设置一个透明度背 ...
- iOS开发之使用XMPPFramework实现即时通信(三)
你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q ...
- MySQL复合分区
到底还是开源软件,MySQL对复合分区的支持远远没有Oracle丰富. 在MySQL 5.6版本中,只支持RANGE和LIST的子分区,且子分区的类型只能为HASH和KEY. 譬如: CREATE T ...
- c# 实现简单udp数据的发送和接收
服务端代码 static void Main(string[] args) { UdpClient client = null; string receiveString = null; byte[] ...
- 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答
(原创) 今天在做下滑刷新的时候碰到 view 的四个 get 函数有点特别,具体遇到的问题如下,经反复测试和查找资料,填坑如下: 1,为什么我有时候在使用getLeft(), getRight(), ...
- Java 图的遍历-LeetCode200
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- jQuery-1.9.1源码分析系列(十三) 位置大小操作
先列一下这些个api jQuery.fn.css (propertyName [, value ]| object )(函数用于设置或返回当前jQuery对象所匹配的元素的css样式属性值.如果需要删 ...
- C#使用资源文件的方法
其实,对于资源文件的使用,说白点就是通过强制类型转换,将资源文件里的数据强行的转换成你需要的(换种方式说,就是你原来存进去什么,就用什么类型拿出来). 主要通过System.Resources.Res ...