iOS
志向自由
读万卷书,行万里路
展开
-
图片拉伸
UIImage *backgroundImage = [UIImage imageNamed:@"block_background.png”]; backgroundImage = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)];拉伸的是中间被围出的矩形区原创 2015-07-28 09:59:24 · 566 阅读 · 0 评论 -
iOS Crash文件中常见的Exception Type & Exception Code
0x8badf00d: 读做 “ate bad food”! (把数字换成字母,是不是很像 :p)该编码表示应用是因为发生watchdog超时而被iOS终止的。 通常是应用花费太多时间而无法启动、终止或响应用系统事件。0xbad22222: 该编码表示 VoIP 应用因为过于频繁重启而被终止。0xdead10cc: 读做 “dead lock”!该代码表明应用因为在后台运行时占用系统资源,如通讯转载 2015-07-31 15:31:06 · 2329 阅读 · 0 评论 -
iOS contentOffset和contentInset的区别
contentOffset是scrollview当前显示区域顶点相对于frame顶点(刚开始的起始位置contentInset)的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480,一般滚动后监视使用,改变contentInset是scrollview的contentview(内容)的顶点相对于scrollview的位置,例如你的cont原创 2015-08-04 09:58:22 · 824 阅读 · 0 评论 -
iOS Touches事件传递
直接上图:上图直观的反映了touches事件的分发顺序和touches事件处理顺序:一、事件分发顺序,目的找到被触摸的视图1、iOS判断哪个界面能接受消息是从View层级结构的父View向子View传递,即树状结构的根节点向叶子节点递归传递。2、hitTest和pointInside成对被触发,且hitTest会调用pointInside。二、消息处理,原创 2015-07-23 13:39:51 · 497 阅读 · 0 评论 -
iOS:添加arm64后警告解惑
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64typedeflong NSInteger;typedefunsigned long NSUInteger;#elsetypedefint NSInteger;t原创 2014-11-18 17:58:54 · 1497 阅读 · 0 评论 -
Xcode 6 国际化
开篇先说明,写好的程序在模拟器上运行是会出现变态情况的,建议使用真机做测试,笔者写此文章之前给模拟器折腾得死去活来,特告知众小伙伴,勿踩坑。1、先创建一个项目取名叫 LocalizableTest,然后按照图片的方式添加需要国际化的语言。Finish 后,就算是添加成功了,而后就可以在 Main.storyboard 和 LaunchScreen.xib转载 2015-07-24 18:32:52 · 406 阅读 · 0 评论 -
Undefined symbols for architecture x86_64/armv7 解决方法
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CABasicAnimation", referenced from: objc-class-ref in xxxx.old: symbol(s) not found for architecture x86_64clang: error: linker comm原创 2015-09-01 13:43:06 · 873 阅读 · 0 评论 -
iOS 浏览器或应用中启动应用
iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme 用于从浏览器或其他应用中启动本应用。 注册自定义 URL Scheme注册自定义 URL Scheme 的第一步是创建 URL Scheme — 在 Xcode Project Navigator 中找到并点击工程 info.plist 文件转载 2015-07-31 15:57:51 · 527 阅读 · 0 评论 -
iOS MD5加密算法
NSString+MD5.h#import @interface NSString (MD5)-(NSString *) md5HexDigest;@endNSString+MD5.m#import "NSString+MD5.h"@implementation NSString (MD5)-(NSString *) md5HexDigest{ const c原创 2015-09-23 14:26:15 · 582 阅读 · 0 评论 -
iOS开发 打开settings应用
通过URL Scheme的方式在应用中打开其他应用,本文则是用这种方式打开内置的Settings应用。 Ios代码 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; 以下是内置的Settin转载 2015-12-11 18:01:37 · 645 阅读 · 0 评论 -
Xcode ARC模式:关闭与忽略
xcode5.0之后新建的项目,再引入第三方类库会发现有N个错误产生,源于新版xcode自动设置了ARC (AutomicReferenceCounting)模式,而大多数第三方库都在使用手动内存管理。于是我们最简单的方法是把ARC关闭:在开发中的项目在项目设置的build setting中搜索garbage关键字就可以看到这个选项,把YES改为NO就OK!原创 2013-12-26 13:39:57 · 2238 阅读 · 0 评论 -
iOS 常量和全局变量的定义
一、常量:如果要定义一组相关的常量,尽量使用枚举类型( enumerations ),枚举类型的命名规则和函数的命名规则相同:1234567// 定义一个枚举,注意带有 `_` 的名称是不会被使用的typedef enum _NSMatrixMode {NSRadio转载 2015-07-31 15:23:12 · 3395 阅读 · 0 评论 -
模拟器键盘不弹出
在xcode6中, 模拟器中的键盘和电脑的键盘可以进行绑定or解除绑定,打开模拟器,在最上面的菜单栏中,选择hardware,然后选择keyboards,有三个选项, 依次都勾选就行了。(注意:第三个选项在点击之后,实际已勾上了,但显示未勾上,但实际已经奏效了,这可能是xcode6的一个显示上的bug)转载 2015-07-28 10:21:49 · 941 阅读 · 0 评论 -
[UIScreen mainScreen].bounds.size获取设备长宽时的问题
[UIScreen mainScreen].bounds.size获取设备长宽时,有时会出现得出的设备宽高不是正确的。经过一番排查,最后锁定问题的原因:launch images设置的图片出了问题。解决:1.是否全部设置需要适配的设备的launch images;2.所有设置的图片名称是否正确:retain屏加@2x后缀,RetinaHD5.5(即iphone6plus原创 2015-07-29 15:23:44 · 847 阅读 · 0 评论 -
iOS 深入理解“属性”及其关键字
1.weak 与 assign 不同什么情况使用 weak 关键字?在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate代理属性自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用weak,自定义IBOutlet控件属性一般也使用weak;当然,也可以使用strong。在下文也有论述:《IBOutlet连出来的转载 2015-08-24 17:58:06 · 2592 阅读 · 0 评论 -
iOSAPP升级时文件的留存问题
升级要考虑到和前一个版本已经存在的文件之间的兼容问题,可以先用旧工程跑一遍,再用新的跑一遍,看有无问题。这是血的教训!!!切记在应用程序更新过程中被保存的文件:更新应用程序就是将用户下载的新版应用程序代替之前的版本。在这个过程中,iTunes会将更新过的应用程序安装到新的应用程序目录下,并在删除老版本之前,将用户数据文件转移到新的应用程序目录下。在更新的过程中,iTunes保证原创 2015-07-31 16:46:08 · 3488 阅读 · 0 评论 -
iOS引用图片文件的三种方式
1.folder references:NSString * path = @"imgSource/zjload.jpg";NSString *newPath=[NSString stringWithFormat:@"%@%@%@",[[NSBundle mainBundle]resourcePath],@"/",path];NSLog(@"newPath===%@",newPath)原创 2015-07-24 18:19:42 · 1044 阅读 · 0 评论 -
iOS UTF-8、URL解码与转码
UTF-8解码NSString* str= [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"strAfterDecodeByUTF8AndURI=%@", str); UTF-8转码[@"我是中文原创 2015-08-04 10:57:40 · 6424 阅读 · 0 评论 -
NSInteger与NSString的相互转换
NSInteger转换为NSString:[[NSNumber numberWithInteger:NSInteger]stringValue];NSInteger转换为NSString:[NSString integerValue];总结:NSNumber 作为数字对象,不仅可以把基本数据类型转化为对象,还可以利用它实现数据原创 2015-07-22 17:56:15 · 2613 阅读 · 0 评论 -
Xcode编译设置项Architechures 解释
由于iOS项目加入第三方类库没有支持arm64,原创 2014-11-14 15:05:57 · 811 阅读 · 0 评论 -
邓白氏号码(DUNS Number)查询
根据DUNS Number查询公司名称:1、到这个网址 :http://www.dandb.com/duns-file/2、这个页面是用于获取DUNS Number的,查询DUNS Number的链接在这个页面靠下一点儿的位置。3、点击链接“Search for your company”. 会弹出一个overlay窗口,如下图:4、在窗原创 2015-08-20 16:23:51 · 124883 阅读 · 1 评论 -
iOS9 企业级账号 无法安装的问题
最近,用苹果企业级账号发布应用遇到在iOS9上不能安装的情况。刚开始在网上找原因,比较靠谱的说法说是因为Xcode7的打包的问题,于是我换了Xcode6打包,还是没有解决问题。说明并不是xcode7的问题。于是开始通过工具查看安装日志(工具:http://fir.im/tools/log_guru)来发现问题。通过日志上的报错信息:(A valid provisioning原创 2015-12-22 15:50:55 · 2766 阅读 · 0 评论