摘要: 本次分析针对当下流行的中国地图图片处理,1亿像素,就是下面这张: 原图尺寸:11935x8554 文件大小:22.1MB 原始加载方式 首先,我们尝试一下直接加载的方式,看看效果会有多恐怖 首先,我们尝试一下直接加载的方式,看看效果会有多恐怖 效果请看下面的Gif动画展示: 直接加载原图内存占用 可 阅读全文
posted @ 2017-12-08 14:29 vvGO 阅读(4212) 评论(1) 推荐(0) 编辑
摘要: 有些项目成熟以后,就会有需求自动化配置生成一个全新的项目,不需要再让开发人员手动修改工程文件,将配置化工作直接移交给运维或者配置团队去做 其实按照普通的做法,无非就是在xcode里将目标target duplicate一下,然后修改相关的项目名称、target名称、bundleid等等,这些内容其实 阅读全文
posted @ 2017-12-08 11:44 vvGO 阅读(1755) 评论(1) 推荐(0) 编辑
摘要: 最近一直做项目的ATS改造,期间遇到了种种问题,各种坑都记录下来, 比如iOS版本、afnetwork版本、证书(是否为自签证书)、域名验证、TLS版本等等,我们项目更复杂,还使用了域名到IP映射的路由表策略,在验证自签证书的时候各种配置host,这种需求在文章里就不赘述了,有相似需求的可以私下讨论 阅读全文
posted @ 2016-10-28 18:32 vvGO 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 使用UIScrollView经常会执行清空视图的操作,我们普遍的做法是: for (UIView *subview in self.scrollView.subviews) { [subview removeFromSuperview]; }或者是: [self.scrol... 阅读全文
posted @ 2015-01-21 15:11 vvGO 阅读(3026) 评论(0) 推荐(0) 编辑
摘要: 系统的segment控件太封闭,想换个颜色加个背景太难了,忍不住自己写一个,以备不时之需这个控件给出了很多自定义属性的设置,用起来还是比较方便的,需要注意的itemWidth如果不设置,则会按照控件的宽度平均分配每一项的宽度,如果设置了,那么总宽度超过控件宽度后会有滑动效果直接上代码吧:头文件:#i... 阅读全文
posted @ 2014-12-23 15:16 vvGO 阅读(3952) 评论(0) 推荐(0) 编辑
摘要: 众所周知目前影院选座是不允许随便选的,我们不可以任性的挑三拣四,最后留下N个单独的座位,目的就是要留下至少2个连着的座位;另外有些影院的座位摆放并不是规则的,有些座位被过道或者特殊座位分割开,产生了不同的分区,这里就实现检测有没有座位变成了孤座,孤座的含义简单说就是两个小情侣不能挨着坐了~但是也存在... 阅读全文
posted @ 2014-12-23 14:54 vvGO 阅读(2476) 评论(0) 推荐(0) 编辑
摘要: 用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现技术点:1. 创建一个继承UIView的视图,并设置clipsToBounds= YES2. 添加一个UIscrollView控件,将其宽度设置为自定义翻页的宽度3. 设置UIScrollview 的clipsToBounds= NO4. 确保本View的宽度大于UIScrollView的宽度用于显示预览内容5. 重写本View的hittest方法,为了确保用户滑动UIscrollview以外的空间时也可以触发UIscrollv 阅读全文
posted @ 2014-01-07 16:59 vvGO 阅读(8531) 评论(0) 推荐(0) 编辑
摘要: 1. 该功能实现基于MobileApple80211框架来进行开发,而目前该框架成为了私有框架,其中的API均为私有API。如果使用这些API可能导致应用不能上app store或者ios版本升级过程中,可能对私有api不兼容,导致程序莫名的挂掉或数据获取失败2. 终端必须越狱,且必须把程序部署到终端的/Applications目录下取得超级用户权限才能获得wifi的访问权限代码#import #import #include @interface SOLStumbler : NSObject { NSMutableDictionary *networks; //Key: MAC Addres 阅读全文
posted @ 2013-09-05 11:15 vvGO 阅读(2892) 评论(0) 推荐(0) 编辑
摘要: 原理就是将tabbar移出显示区-(void)hideSystemTabBar:(UITabBar*) tabbarcontroller { [UIView beginAnimations:nil context:NULL];//动画效果,可以不用 [UIView setAnimationDuration:0.1]; for(UIView* view in tabbarcontroller.subviews) { if([view isKindOfClass:[UITabBarclass]]) { [view setFrame:CGRectMake(view.fr... 阅读全文
posted @ 2013-09-05 11:09 vvGO 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 这两天做关于离线通知的功能,总结了一点关于这方面的注意点;按Home键回到桌面后程序很快被挂起,系统将关闭程序的Socket监听,此时程序将不能继续执行网络请求等操作。两种方式可以使程序继续存活一段时间或者继续保持运行状态:一是在项目进入后台时开启后台任务,即在applicationDidEnterBackground中执行beginBackgroundTaskWithExpirationHandler,这种方式可以让程序获取10分钟的时间继续运行;另一种方式是告诉系统本程序支持后台运行,即在项目的info.plist中设置Required background modes为:audio, l 阅读全文
posted @ 2013-09-05 10:54 vvGO 阅读(332) 评论(0) 推荐(0) 编辑