
object-c
FScyj1
这个作者很懒,什么都没留下…
展开
-
ios tableviewcell分割线左边有空白
上网搜了下资料,貌似从ios7开始tableviewcell的分割线左边都有空白,解决方法: if ([self.mytableview respondsToSelector:@selector(setSeparatorInset:)]) { [self.mytableview setSeparatorInset:UIEdgeInsetsZero]; }原创 2015-07-10 11:20:44 · 899 阅读 · 0 评论 -
iOS本地数据存取,看这里就够了
http://www.cocoachina.com/ios/20160429/16065.html转载 2016-05-05 14:26:17 · 397 阅读 · 0 评论 -
iOS 中如何实现 App 主题切换
之前看网易音乐 for iOS 有一版更新之后提供了主题切换的功能,其颜色还能够让用户自定义。当时觉得挺好玩的,就感觉要做很多工作的样子。但最近在刷《 Programming iOS 9 》才知道有很简单的实现方式~ 全局修改控件的颜色UIView 中有一个 tintColor 属性,该属性会在 view hierarchy 中传递下去。比如 window 的tintCol转载 2016-04-20 16:05:08 · 1079 阅读 · 0 评论 -
关于iOS7里的JavaScriptCore framework
在iOS7沸沸扬扬的扁平化论战之外,WWDC 2013还是公布了很多让开发者小兴奋的点,其中包括多任务加强支持background fetch和transfer,近场通信的AirDrop和p2p,以及游戏控制器和游戏中心的加强;当然还包括了让web开发同学很兴奋JavaScriptCore了。下面henry/webryan来详细介绍下整合JavaScriptCore到原生应用的情况。1转载 2016-02-23 17:08:21 · 521 阅读 · 0 评论 -
iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教程,于是待问题解决后抽时间截了图,自己写一遍封存在博客园中以便以后随时查阅。charles又名青花瓷,在iOS开发中的抓包中具有重要作用。最大的三点用处,一就是拦截别人软件的发送的请求和后端接口,练习开发。二是自己后端返回的response拦截修改后再接收以达到测试临界数据的作用。三写脚本重复拦截抓取别人的转载 2016-02-23 10:01:23 · 946 阅读 · 0 评论 -
使用CFStringTransform将汉字转换为拼音
之前做通讯录相关的一些App时,有一个比较常用的算法是将汉字转换成拼音。当时采用的做法是:将各个拼音段的首个汉字(按Unicode排序)做成两个数组,一个数组存拼音,另一个数组存拼音对应首个汉字的Unicode。如果要获取某个汉字的拼音,可以折半查找法找的对应拼音。最近无意间发现CFStringTransform这篇文章后,发现系统本身已经提供了一个这样的函数。CFStringTran转载 2016-03-29 14:55:53 · 433 阅读 · 0 评论 -
谈Runtime机制和使用的整体化梳理
相比“凌波微步”的Swift,Object-C被誉为“如来神掌”。传说Runtime就是支持这“如来神掌”说法的最好体现。听起来总是这么的神秘高级,于是总能在各个论坛看到碎片资料,时间一长总记不住哪里是哪里,每次都要打开好几个网页。这种记不住象现显然是知识体系还不完整重要体现。还是自己从Runtime的思想到动手代码呈现上做出总结尚为上策。学习流程图一、基本概念RunTim转载 2016-02-04 15:34:20 · 400 阅读 · 0 评论 -
ios10 自动约束的坑
用ios的手机打开项目的基本详情页,发现底部的tableFooterView没法往上拖动了,如图所示:我这的tableFooterView是关联一个自动布局的view,打印了一下tableFooterView的高度居然显示为0,但是这在ios10之前是完全没问题的,网上搜了很久很久,在stackoverflow上提问可能因为格式问题还被管理人员警告并且删帖,折腾了几天终于找到一篇:原创 2017-01-23 17:21:45 · 1689 阅读 · 0 评论 -
ios 提交版本,构建中无法显示
昨天上传版本,itunesconnect活动中显示正在处理之后就消失了,收到了apple的邮件:Non-public API usage:The app references non-public symbols in NeweggCNiPhone: _locale_charset提示我用了私有api,后来想到是科大讯飞的framework好久没更新了,果真去他们论坛看原创 2017-04-06 14:09:57 · 1149 阅读 · 0 评论 -
ios11 tableview下移
如图所示:解决方法(直接复制拷贝)转自:http://blog.youkuaiyun.com/ycm1101743158/article/details/780861521. 重新设置tableView的contentInset值,来抵消掉SafeAreaInset值,因为内容下移偏移量 = contentInset + SafeAreaInset;如果之前自己设置了c原创 2017-12-05 15:45:58 · 1859 阅读 · 0 评论 -
Data Collection and Storage We noticed that your app requests the user’s consent to access the ....
相机权限被拒了,大概的意思就是没有在弹框alert那描述清楚具体使用在哪些地方啥的,我改成如下图所示,先这样试着吧,应该没问题了。原创 2018-01-02 09:55:36 · 11527 阅读 · 4 评论 -
适配ios11-导航栏titleView宽度变窄,无法点击
在ios11上运行项目时发现导航栏的搜索框无法点击,宽度很小,如图所示:百度搜索一通,发现 “ iOS11导航栏titleView图层有变化,iOS 10及以下 自定义titleView会添加在navigationBar上,iOS 11 添加在UINavigationBarContentView上。”通过新建一个uiview,设置 intrinsicContentSize属性原创 2017-12-04 11:06:16 · 5525 阅读 · 0 评论 -
ios11以及iphonex适配
找到一篇讲得很好的文章,地址:http://www.jianshu.com/p/3a9ad4f0fa32?appinstall=0原创 2017-12-20 14:07:50 · 374 阅读 · 0 评论 -
iOS中关键字copy与mutableCopy的详解,看我你就都懂了
转自:http://www.jianshu.com/p/700f58eb0b86相信对于有一定iOS开发经验的同学来说,对于copy关键字一定不陌生,从字义上来看,应该就是复制一个对象,然后我们对于NSString类型的属性,一般也用copy关键字。但是大家对于copy关键字真正有什么具体了解呢,什么时候用copy,什么时候用mutableCopy,区别又在哪里,对于内存存储上又有什么知识点,转载 2017-10-17 15:01:07 · 10993 阅读 · 0 评论 -
iPhone X适配需要注意事项
转自:http://www.cocoachina.com/ios/20170925/20629.htmlWhatiPhoneX引入的问题:1.高度变化(相对于iPhone6/7/8增加了145pt)2.四个圆角3.顶部传感器部分4.底部回主页(或切换app)标识5.安全区域引入(顶部44pt,底部34pt)How开发注意事项转载 2017-10-17 10:21:13 · 545 阅读 · 0 评论 -
iOS开发用swift添加admob广告,iosswiftadmob广告
iOS开发用swift添加admob广告,iosswiftadmob广告第一步:注册账号 首先你得上admob官网注册账号,得到你的广告单位ID号 如下图: 第二步:下载admob SDK 1.下载地址:http://download.youkuaiyun.com/detail/li962429707/8640981 2.导入swift项目: 选择解压好的SDK转载 2016-02-04 10:34:20 · 732 阅读 · 0 评论 -
iOS 推送 获取手机设备的 deviceToken
第一步:申请证书:第二步:申请app ids,应用名字必须一致。然后再进入进行编辑,使其enable,绿灯。第三步:申请provisioning profile,生成.mobileprovision,双击该证书才能正确导入手机设备,不能拖。第四步:创建应用转载 2016-01-15 09:30:38 · 1961 阅读 · 0 评论 -
关于 Fatal error: ‘SpringBoard/SpringBoard.h’ file not found
买了ios逆向工程这本书,发现坑真的很多,只能网上搜搜相关博客跟着做,当我做到make程序的时候报错了:关于 Fatal error: ‘SpringBoard/SpringBoard.h’ file not found,然后又是网上一通搜,发现需要class-dump相关headers,可以去github搜一下,也可以自己class-dump,springboard对ios来说就类似于Finde原创 2015-10-30 14:51:44 · 1913 阅读 · 1 评论 -
Application Loader报错 cannot proceed with delivery: an existing transporter....
网上的解决方案都是:(1)打开终端,输入cd,到达个人用户目录下。(2)输入ls -a,可以看到一个隐藏的目录 .itmstransporter(3)cd .itmstransporter/UploadTokens(4)ls ,可以看到一个类似 xxxxx.local_itunesConnectUSERxxxxxx.itmsp.token文件(5)nano xxxxx.l原创 2015-09-15 13:53:49 · 1191 阅读 · 0 评论 -
记录一些易忘的属性(translucent,edgesForExtendedLayout,automaticallyAdjustsScrollViewInsets)
遇到这些属性老是忘,总是要上网搜,不如把它们记下来~~ 以下都是摘自网络~~1. translucent(半透明的): New behavior on iOS 7. Default is YES. 如果不想导航栏有半透明效果则将其设为NO,self.navigationController.navigationBar.translucent = NO;这个方法可以让导航栏透明原创 2015-08-18 09:04:48 · 944 阅读 · 0 评论 -
setTintColor和setBarTintColor的区别
IOS7之前,setTintColor是可以修改背景色的,ios7之后修改背景色只能用setBarTintColor。所以要用判断区分开:if ([[UIDevice currentDevice] systemVersion] }else { }在这里只看看ios7后navigationBar 的效果:1. [self.navigationCon原创 2015-06-16 15:02:05 · 1792 阅读 · 0 评论 -
xib的相关问题
最近在适配Iphone6,然后把项目复制了一份,用副本的项目进行适配,其中我的某个controller的xib适配的时候出了问题,然后我就删了xib,直接从原始项目中将相关的xib拷贝过来,这下麻烦来了,断点设在viewDidLoad里,打印下发现xib里的对象全为空,那就是没有初始化成功咯,后来我把这个xib删除了,然后新建一个xib,然后再一个一个拖呗。应该是xib中File's Owner的原创 2015-07-22 09:17:48 · 430 阅读 · 0 评论 -
“摇一摇”功能
1.在响应的controller中,设置canBecomeFirstResponder:- (BOOL)canBecomeFirstResponder { return YES;}2.实现下面的代理方法:#pragma mark - 摇动/** * 摇动开始 */- (void)motionBegan:(UIEventSubtype)motion原创 2015-08-27 14:07:46 · 629 阅读 · 0 评论 -
JSON Accelerator
JSON Accelerator是用来json解析的,可以生成文件,这样你就省去写Model的时间了,而且自带json->model的方法,非常方便。 图1生成文件按钮这些是生成的文件(我调用了豆瓣搜索音乐的api)通过这个modelObjectWithDictionary方法就能实现json->model了原创 2015-08-11 16:04:52 · 1920 阅读 · 2 评论 -
xib中的对象没有立刻刷新成约束后的位置
最近在帮公司项目适配iphone6/6+,遇到了个棘手的问题,xib中的对象没有立刻刷新成约束(autolayout)后的位置,而是xib中填写的frame的位置,看看效果图吧1.没有立即刷新成约束后的位置2.约束后的位置实际中,图1会先显示,之后又会显示图2的状态,我想直接刚开始就显示图2的效果,所以要在第一次初始化这个对象的时候对它进行位置的设置,pageC原创 2015-07-13 15:00:55 · 3418 阅读 · 0 评论 -
使用Reveal查看任意App的技巧
Reveal的高级技巧前言Reveal(http://revealapp.com)是一个很强大的iOS View Hierarchy工具,与其他几个功能相近的工具比如PonyDebugger(https://github.com/square/PonyDebugger)和Spark Inspector(http://sparkinspector.com)相比,其最大的特点就是非常直转载 2015-11-02 10:56:32 · 751 阅读 · 0 评论 -
分分钟搞定IOS远程消息推送
阅读目录一、引言二、远程推送机制的原理三、分分钟让你的APP收到远程推送四、几点注意分分钟搞定IOS远程消息推送 一、引言IOS中消息的推送有两种方式,分别是本地推送和远程推送,本地推送在http://my.oschina.net/u/2340880/blog/405491这篇博客中有详细的介绍,这里主要讨论远程推送的流程与配置过程。回到顶部转载 2015-12-02 09:48:51 · 545 阅读 · 0 评论 -
iOS运用runtime全局修改UILabel的默认字体
一、需求背景介绍在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换。乍看起来,这个问题确实十分棘手,首先项目比较大,一个一个设置所有使用到的label的font工作量是巨大的,并且在许多动态展示的界面中,可能会漏掉一些label,产生bug。其次,项目中的label来源并不唯一,有用代码转载 2016-03-02 15:33:57 · 2040 阅读 · 0 评论 -
放肆地使用UIBezierPath和CAShapeLayer画各种图形
CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。杂谈在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样:12345let layer = CAShapeLayer()layer.fra转载 2016-02-15 14:16:05 · 565 阅读 · 0 评论 -
iOS中3种正则表达式的使用与比较
之前我在博文中介绍过iOS中自带正则表达式的使用( 传送门),后来我发现其实iOS中有三种方式来实现正则表达式的匹配。现在将他们都记录在这里:1.利用NSPredicate(谓词)匹配 例如匹配有效邮箱: ?1234NSString *email = @“nijino_saki@163.com”; NSString *转载 2016-01-14 11:25:56 · 378 阅读 · 0 评论 -
IOS上 关于状态栏的相关设置(UIStatusBar)
知识普及ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指的显示电池、时间等部分;背景部分:就是显示黑色或者图片的背景部分;如下图:前景部分为白色,背景部分为黑色 注意:这里只涉及到ios7以及更高版本,低版本下面的讲解可能无效。设置statusBar的【前景部转载 2016-01-12 17:20:28 · 407 阅读 · 0 评论 -
storyboard设置autolayout时子view会自动产生20边距
我在对子view拖线的时候,自动产生了20边距,后来了解到是margin导致的,拖autolayout线的时候,按住alt,即可取消margin原创 2016-01-12 09:53:30 · 1062 阅读 · 0 评论 -
使用NSKeyedArchiver归档
将各种类型的对象存储到文件中,而不仅仅是字符串、数组和字典类型,有一种更灵活的方法。就是利用NSKeyedAarchiver类创建带键(keyed)的档案来完成。Mac OS X从版本10.2开始支持带键的档案。在此之前,要使用NSArchiver类创建连续的(sequential)归档。连续的归档需要完全按照写入时的顺序读取归档中的数据。在带键的归档中,每个归档字段都有一个名称。归档某个转载 2016-01-28 17:31:11 · 514 阅读 · 0 评论 -
【深入学习iOS开发(一)】Objective-C Reflection(Objective-C 反射机制)
Objective-C Reflection(Objective-C 反射机制) NSObject 方法除了个别例外,Cocoa 中大部分类都是 NSObject 的子类,因此大部分对象都继承了它所定义的方法。NSObject 提供了一些简单的查询运行时系统信息的方法:- (BOOL)isKindOfClass:(Class)aClass Returns a Bool转载 2015-12-21 13:36:17 · 566 阅读 · 0 评论 -
轻松学习之一--Objective-C消息转发
首先感谢这几个篇文章对我的帮助:http://blog.youkuaiyun.com/mangosnow/article/details/36183535http://blog.sina.com.cn/s/blog_71e456db0100w1bm.htmlhttp://book.51cto.com/art/201403/432146.htmhttp://www.itqx.net/thread转载 2016-01-22 09:39:21 · 379 阅读 · 0 评论 -
safeArea适配后在ios9上的反应
在为iphoneX适配时,xib上启用了safeArea的一些选项,但是换到ios9上发现页面嵌在上面了,如图所示:在该controller下设置导航栏为不透明就好了,self.navigationController.navigationBar.translucent = NO;参考:http://www.cocoachina.com/ios/20171206/21436.htmlp.p1 {m原创 2018-01-02 14:21:12 · 2190 阅读 · 0 评论