======移动开发======
硬核工坊
Hardcode workshop
展开
-
修改UISearchBar的背景色
UISearchBar的view层级关系在某个版本后发生了改变。默认有一个UISearchBarBackground类的对象覆盖在searchBar上,所以直接设置searchBar.backgroundColor是无效的。需要移除这个UISearchBarBackground对象。UISearchBarBackground并不是直接被添加到searchBar上的,我的推测是searchB原创 2014-12-10 16:51:23 · 898 阅读 · 0 评论 -
时间格式化时不同参数的输出结果
本文仅针对iOS平台,不同平台输出结果可能不同以2016年3月5日下午2点3分4秒(星期)为例:年:取Year的首字母——yyyyy = 2016yyy = 2016yy = 16y = 2016月:取Month的首字母——m,代表月的m必须大写,以和分钟minute进行区分MMMM = MarchMMM = MarMM =原创 2016-12-06 15:01:03 · 602 阅读 · 0 评论 -
iOS中,访问系统隐私权限时修改alert文案的方法
开发过程中,难免会涉及到访问相册、相机、麦克风、通讯录等需要进行隐私权限授权的功能。系统默认的alert比较生硬,像下图这样:其实我们是可以向其中加入自定义的文案的。加入之后看上去会更友好,像下图这样:方法很简单,只需要向info.plist里加一行键值就行了。例如修改通讯录权限的,Key为NSContactsUsageDescription(或原创 2016-01-26 15:03:59 · 10083 阅读 · 0 评论 -
Android 使用 SDK Manager 下载SDK速度慢,容易丢包和异常的解决办法
第一步,SDK Manager启动之后,会先解析一些google的xml文件,会在Log里面打印出一些日志信息。解析完之后,把日志全部拷贝到一个记事本里(这一步是因为日志窗口不支持查找),在里面查找你要下载的东西,然后可以得到对应的xml文件。举个例子:你想要下载Android 4.0 (API 14) 的 ARM EABI v7a System Image,则查找关键原创 2015-01-21 17:59:54 · 1371 阅读 · 0 评论 -
Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题的解决方案
问题描述:Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边。在iOS8下没问题。问题分析:这种熟悉的场景又出现了,上一次遇到这种情景已经可以追溯到两年前,iPhone5刚刚问世的那段时间,在3.5inch屏幕上的程序如果不添加568h的default.png,在4inch屏上运行就会出现这种上下留"白"的状况。而如原创 2015-01-13 11:30:30 · 4386 阅读 · 1 评论 -
"Illegal property type, c for appearance setter, _installAppearanceSwizzleForSetter: "崩溃的解决方案
之前遇到过一次这种crash:Illegal property type, c for appearance setter, _installAppearanceSwizzleForSetter:在iOS8下没问题,但到了iOS7一运行就crash。之后找到原因,是因为这一行代码:[[UINavigationBar appearance] setTranslucent:NO]原创 2015-01-13 11:07:40 · 2373 阅读 · 0 评论 -
Xcode6使用iOS7模拟器调试的方法
由于官方下载太慢而且经常会报错网络异常中断。研究了一下。之前下过ios7.1_simulator的dmg,安装之后,打开Xcode6还是选不了iOS7。后来琢磨了一下,把Xcode5.1.1的7.1SDK拷到Xcode6的包里,重新打开Xcode6,这次可以选iOS7了。SDK位置:Xcode.app/Contents/Developer/Platforms/iPhoneSim原创 2015-01-12 23:32:59 · 1447 阅读 · 0 评论 -
工具分享:模拟网络请求工具RESTClient
做移动端APP开发,免不了天天跟网络请求打交道,做很多接口调试的工作。很多时候,我们可能只是先看看某条数据的报文,或者是只想发一个请求给后台让他们去测试某个地方出了什么问题。这种情况下,从APP一层一层点进去,点某个按钮来触发这个请求,未免太浪费时间了。既然已经知道接口地址,也知道自己要传什么值进去做测试,大可不必用这么费时费力的方式。这里福利给大家一个工具,在浏览器上就可以直接发原创 2015-01-13 15:32:03 · 3183 阅读 · 0 评论 -
Xcode插件分享:注释工具VVDocumenter
写注释是一个程序开发人员最基本的道德素质,但Xcode并没有对注释进行优化,因此写规范的注释总是要做大量重复而无意义的工作,比如说键入*号。这里推荐一个Xcode的plugin,VVDocumenter。附上github地址:https://github.com/onevcat/VVDocumenter-Xcode/使用的方法很简单,编译一下该插件,然后重启Xcode。写注释的时候原创 2015-01-12 11:27:43 · 509 阅读 · 0 评论 -
iOS开发中,数组为空的判断处理
这篇文章主要来说一下,NSArray判断是否为空需要注意的问题。有些开发者,在判断数组是否为空时,会写成:if (array != nil)或是:if (array.count != 0)其实严格来说,这两种写法,都是考虑不足并且不稳定的,并且忽略了一种更常见的情况。首先来说一下,二者之间的区别。array == nil这种情况指的是这个array对象是一个原创 2015-01-13 13:27:18 · 9706 阅读 · 0 评论 -
获取程序版本号等信息
代码如下:NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];CFShow(infoDictionary);// app名称NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];// app版本原创 2014-12-10 17:17:20 · 810 阅读 · 0 评论 -
UICollectionView cell点击后无法回调的解决方案
刚才开发遇到了一个问题,通过xib加载的collectionViewCell,点击无法进入到didSelectItemAtIndexPath,删除了页面中的手势之后问题解决。删除手势代码如下:NSArray *gestureArray = [self.view gestureRecognizers];for (UIGestureRecognizer *gesture in gestur原创 2014-12-15 15:09:28 · 4094 阅读 · 0 评论 -
iOS8中UITableView的separator insets属性赋值无效的问题
问题描述:在xib中对tableview的separator insets做设置,custom类型left,right都赋值成0,但实际显示的时候会发现左边还是有15px的边距。问题解决帖:http://stackoverflow.com/questions/25770119/ios-8-uitableview-separator-inset-0-not-working文中描述了多原创 2015-01-07 15:59:15 · 2315 阅读 · 0 评论 -
键盘弹出后输入框上移的解决方案
键盘弹出后遮挡了textField是一种非常常见的情况,解决方案有很多种,我在这里介绍其中一种方式。这种方式能够解决键盘弹出之后键盘高度发生变化(例如中文键盘,输入字母之后最上面会多出一块候选单词的区域),textField或view的位置变化。首先对controller添加消息监听。 [[NSNotificationCenter defaultCenter] addObserv原创 2015-01-08 11:27:57 · 3433 阅读 · 0 评论 -
百度地图“反geo检索发送失败”报错解决
刚才开发时候遇到了一个问题,百度地图调用反geo检索,总是第一次编译的时候成功,之后怎么编译或重新调用返回都是失败。非常奇怪的问题。网上有人提到mapManager被释放后地图引擎会停止工作,但我的项目里mapManager是作为ARC下appDelegate的strong修饰属性,所以不是这个原因。最后在这个帖子里搜索到问题所在了:http://bbs.lbsyun.baid原创 2015-01-05 11:48:18 · 6874 阅读 · 0 评论 -
通过接口获取某程序在App Store中的信息
首先,给出一个苹果官方的接口:http://itunes.apple.com/lookup?id=XXXXXXXXXXXXX替换成你要查询的APP的ID该接口理论上可以查询任何APP在Store上的信息,只要你能够提供正确的ID言归正传。获取本地APP版本等信息的代码如下:NSDictionary *infoDictionary = [[NSBundle mainBun原创 2014-12-10 17:09:43 · 3322 阅读 · 0 评论 -
常用工具集合
Json格式化:http://tool.oschina.net/codeformat/json/Unix时间戳转换:http://tool.chinaz.com/Tools/unixtime.aspxUrl、Unicode等编解码转换:http://tool.chinaz.com/Tools/URLEncode.aspx正则表达式效果测试:htt原创 2016-12-06 15:09:06 · 579 阅读 · 0 评论