
iOS
文章平均质量分 62
Tan_Trace
我很单纯。。。。
展开
-
iOS 12.1系统tabbar偏移问题闪动问题
更新到iOS 12.1系统后,在push到二级页面时然后在返回,会发现出现tabbar偏差闪动一下;1.处理的方法 :在Appdelegate里面,设置全局的Tabbar样式[[UITabBar appearance] setTranslucent:NO];设置了tabbar的 translucent 属性为NO以后,需要注意一下自己的页面布局,底部从0(tabbar顶部)开始了,...转载 2018-11-25 00:37:52 · 1618 阅读 · 0 评论 -
如何高效的抓取iOS下ipa的所有图片
第一步:通过iTunes下载我们下载我们的目标app 如下图所示: 右击我们的目标app 选择在finder打开显示 然后如下图 继续右击 -打开方式-使用归档工具 注意看了这个时候展示在我们眼前的是这个样子的文件 点击Payload打开这个文件 出现如下文件(**重点** 你们看见只要出现如图的图标就可以了 Fruitday这个是app的文件名字 我们自动忽略就转载 2016-11-16 15:54:37 · 1320 阅读 · 0 评论 -
NSUserDefaults的使用
NSUserDefaults是一个单例,在整个程序中只有一个实例对象,使用简单; NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.简单的使用: NSUserDefaults *dfs = [NSUserDefaults standardUserDefa原创 2016-11-08 10:40:49 · 418 阅读 · 0 评论 -
Xcode从SVN上面check Out项目下来,能编译成功但是会有许多红色警告解决办法
从SVN上面check out项目下来,能编译成功,但出现以下问题对于有强迫证的人来说,总是想去解决掉的,于是乎我就在我就在网上找解决办法:方法一:找到该路径,删除该目录下的缓存文件/Users/tanchuming/Library/Developer/Xcode/DerivedData如果方法一没有效果就试试方法二,如下所示:方法二:找到该原创 2016-11-05 23:58:38 · 1196 阅读 · 0 评论 -
CABasicAnimation fillMode和removedOnCompletion
CABasicAnimation fillMode和removedOnCompletionanimation.removedOnCompletion = NO;animation.fillMode = kCAFillModeForwards;fillMode的作用就是决定当前对象过了非active时间段的行为. 比如动画开始之前,动画结束之后。如果是一个动画CAAnimation,则需要将其remo转载 2016-11-04 15:54:10 · 848 阅读 · 0 评论 -
关于UItableView的表头背景颜色的设置
在UITableView中,其实有很多的属性,运行的好,我们的应用程序会很流畅和美观,今天在网上找资料,和自己动手写了点小东西,关于UITableView表头的背景颜色和字体颜色的设置。 代码如下:-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIView *原创 2016-06-17 09:51:37 · 2788 阅读 · 0 评论 -
关于UIwebView判断是否滑到底
在实际中,总有些奇奇怪怪的需求,今天在在一个群里就看到一个人问怎么判断UIWebView是否滑到了底部,闲来无事就研究了下; 通过看API,我们知道UIWebView是继承了的UIViewNS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIWebView : UIView <NSCoding, UIScrollViewDelegat原创 2016-04-19 17:04:15 · 3900 阅读 · 0 评论 -
setValuesForKeysWithDictionary奔溃问题
setValuesForKeysWithDictionary奔溃问题在iOS开发数据请求时,基本上都会用到模型对象,将数据存储在自己的建的模很多人都用到了setValuesForKeysWithDictionary这个方法,但这个方法键值对必须是一一对应的,自己的定义的属性对象须与后台获取的对象一一对应,当你的字段与后台的获取的对象不一致,就会导致奔溃,如下所示...this class is no原创 2016-04-05 16:44:40 · 2157 阅读 · 0 评论 -
iOS9适配第三方登录时在info.Plist中添加URL Schemes的白名单
在iOS9之前,我们在使用第三方平台登录、分享等功能的时候,值需要在URL Types中配置相应的值就OK了,但在iOS9之后,系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。所以当你的应用在iOS 9中需要使用 QQ/QQ空间/支付宝/微信SDK 的相关能力(分享、收藏、支付、登录等)时,需要转载 2016-01-11 14:43:21 · 2825 阅读 · 0 评论 -
iOS中PCH文件的配置
在开发过程往往有许多公用的属性配置,而在使用这些时我们有一个很繁琐的过程就是导头文件,在Xcode6之前PCH文件会和工程一起自动创建,而Xcode6之后就去掉了,所以如果我们需要使用的时候需要自己手动配置重点内容。第一步 选择工程中的new file,如下所示: 第二步,如图所示: 第三步,如图所示,生成了pch文件 第四步,虽然我们生成了pch文件,但我们还没有关联所以还有最后一步也是原创 2016-01-11 10:38:15 · 722 阅读 · 0 评论 -
安装Cocoapods 报错ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/
在运行 “sudo gem install cocoapods” 的时候出现问题:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj则可以改为:sudo gem install -n /usr/local/bin cocoapods转载 2016-11-01 16:21:02 · 1319 阅读 · 0 评论 -
UISegmentedControl自定义背景颜色和字体颜色
在UISegmentedControl的控件中,有一个设置默认颜色的 // The tintColor is inherited through the superview hierarchy. See UIView for more information. @property(null_resettable,nonatomic,strong) UIColor *tintColor; 、使用原创 2016-11-21 15:13:21 · 14933 阅读 · 0 评论 -
iOS项目统计代码行数
很久没更新了,今天学习了个新技能的,统计代码行数,直接用终端和命令行实现,简单,闲暇时看看的,对帮助开发发用不大;1、打开终端管理工具2、进入指定项目的根目录下在终端里输入cd,然后打一个空格,再用鼠标把项目拖进来就行了.比如:cd /Users/tcm/Desktop/shopMall/shopAppByIOS/shopAppByIOS点击Enter键.3、输入命令行 find . "(" -n...原创 2018-02-26 10:20:46 · 2514 阅读 · 0 评论 -
CocoaPods 的简单快速安装方法
cocoapods对于我们使用第三框架的时候,还是一个挺不错的东西,可以帮我们管理第三方库,不需要手动的去导入,只要输入相应的命令行,就能导入和更新了,所以还是一个挺不错的第三方管理工具; 虽然这个工具很好用,但很多人在安装的时候总是遇到各种问题,当然我也不例外,所以在这里做一个总结,在我们目前的环境下直接在ruby默认源估计你是很难装上去的,除非你去翻墙,在之前我们是用的淘宝的镜像去安装的,结果...原创 2016-12-24 13:54:31 · 1340 阅读 · 0 评论 -
iOS--正则表达式
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.转载 2016-12-19 16:30:42 · 571 阅读 · 0 评论 -
iOS国际化配置
闲来无事倒腾了一下国际化的设置,可能在我们日常生活中我们都很少去配置这个国际化,但这种需求也不是没有的,现在越来越多的app都希望做大能更大程度满足用户的需求,所以app本身要优化和提升的地方也越来越多,好啦,废话不多说,做个笔记; 开始也不知道怎么搞,就在网上查找了些资料,看了几篇博客熟悉相关流程和配置,操作如下所示: 1.首先找到工程里面的PROJECT里面的info目录下,找到Locali原创 2016-12-19 15:36:39 · 520 阅读 · 0 评论 -
iOS 打包时的四个选项意思
1. Save for iOS App Store Deployment保存到本地 准备上传App Store 或者在越狱的iOS设备上使用2. Save for Ad Hoc Deployment 保存到本地 准备在账号添加的可使用设备上使用(具体为在开发#者账户下添加可用设备的udid), 该app包是发布证书编译的(The app will be code signed with the d转载 2016-12-15 12:06:57 · 1821 阅读 · 0 评论 -
setValue和setObject的区别
在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有。1,先看看setValue: forKey:的定义@interface NSMutableDictionary(NSKeyValueCoding)/* Send -setObject:fo转载 2016-12-15 11:50:47 · 410 阅读 · 0 评论 -
iOS中NSString自适应宽高
在我们日常开发中,往往有很多的控件的大小是不能确定的,需要根据字符串的文本来给对应的宽高,这时候就需要我们去自适应了,当然我们有不同的方式去实现的,如下所示:NSString分类中定义的默认方法- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullab原创 2016-11-28 15:13:51 · 1014 阅读 · 0 评论 -
iOS给控件的指定位置设置圆角
在我们日常开发中,给一些控件设置圆角一般都是给四个角都设置圆角如下所示:searchBtn.layer.cornerRadius = 5.0f; //设置圆角的弧度searchBtn.layer.masksToBounds = YES;当然在我们日常中可能有些需求只需要指定的部分是圆角而不需要都是圆角的,通过查找资料找到如下方法,亲测可用 UIBezierPath *f原创 2016-12-07 11:05:23 · 5218 阅读 · 0 评论 -
iOS开发:通过block在两个页面间传值
之前在页面间的传值基本上是通过设置delegate去操作,不过那样子太繁琐了,而且写的代码去比较多;虽然知道有block这个属性不过用的还是比较少的,空闲时间尝试了下,感觉还不错,而且代码量也减少了很多,比较简洁,话不多说,步骤不如; 1.功能需求在第一个页面中有一个button和一个label,label上默认显示“哈哈”,点击button进入第二个页面。在第二个页面有一个UITextFie转载 2016-11-22 10:54:50 · 939 阅读 · 0 评论 -
ios9设置导航状态栏的字体颜色设置
很多需求中,我们可能都需要改变系统默认的状态栏的颜色,今天写程序时,发现以前的方法都过时了,所以总结一下下:在iOS9之前,当我们需要改变状态栏颜色时,可以直接在AppDelegate里面设置,如下所示: [[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];并且在info原创 2015-12-25 11:17:26 · 5068 阅读 · 0 评论 -
iOS中下载的demo出现上下部分为黑色解决办法
iOS系统在不停的更新换代,API也在不停的更新,网上的下载的demo下载下来可能就有问题,以下就是问题中的一个;当你运行demo后可能会出现如下情况:因为这个应用还是按照320*480的尺寸在运行,所以可能会出现如上的情况:解决方法:其实方法很简单,大家可以自己弄一个纯黑,640 x 1136的图片,名字命名为Default-568h@2x.png,将这个图片拖进工程就OK了原创 2016-01-05 15:41:29 · 1504 阅读 · 3 评论 -
关于UIAlertController的whose view is not in the window hierarchy!问题解决
今天在开发过程中遇到一个问题,在使用UIAlertController的时候出现警告,且不弹出警告框,警告信息如下:总所周知,在iOS8之前我们都是使用UIAlertView的,所以不会出现这问题。但今年iOS9发布后,UIAlertView就被弃用了,用UIAlertController封装了UIAlertView和UIActionSheet这两个控件的;然而我在开发中我在使用U原创 2015-11-19 16:26:42 · 4111 阅读 · 1 评论 -
一、ios的通过Xib构建UICollectionView的简单运用
众所周知,UICollectionView是ios6才最新引进来的API,用于展示集合视图,可实现多列布局;经常听人说起 UICollectionView怎么好用,由于之前在赶项目也没有什么时间去学习这个,现在闲下来,学习了简单的使用,感觉功能还是蛮强大的,相对UIScrollView和UITableView它相对而言更灵活了;UICollectionView有两种方式,一种是 Xib还有原创 2015-10-19 17:06:22 · 16345 阅读 · 0 评论 -
关于Xcode导入文件夹的2种选择
第一种:勾选Create groups一、使用Create groups 我们在项目中可以手动添加一个groups(右键点击选择New Group),但是手动添加的groups实际上并不会存在于项目的目录中,被添加进groups中的文件仍在位于它原来所在的位置,但从外部引入进来的groups并不会如此。groups一旦被创建或添加,都是以黄色文件夹的形式存在的,当你想要使用文件夹中的某个类原创 2015-07-13 11:13:55 · 11759 阅读 · 0 评论 -
UIPageControl向右对齐
这个功能需要自己扩展,基于中心点的话可以自己算,很简单的,思路就是UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(x,y,width,height)];//小圆点个数NSInterger count = 3;CGSize pointS原创 2015-05-19 09:12:44 · 3764 阅读 · 0 评论 -
UITableView的相关属性
1.UItableView的cell分割线我们所知道的,ios8以后,UITableView中cell分割线的左边总是会有空余,不能补齐,让我们看起来很不舒服,经过查找资料,可以实现补全;在UITableView初始化的方法体添加如下代码: if ([myTableView respondsToSelector:@selector(setSeparatorInset:)]原创 2015-02-27 09:05:49 · 699 阅读 · 0 评论 -
UILabe动态设置高度
封装在一个类方法中原创 2014-11-06 16:54:53 · 711 阅读 · 0 评论 -
UISCrollView的属性总结
UIScrollView的属性总结属性作用CGPoint contentOffSet监控目前滚动的位置CGSize contentSize滚动范围的大小UIEdgeInsets contentInset视图在scrollView中的位置iddelegate转载 2014-11-07 13:39:39 · 544 阅读 · 0 评论 -
关于Google Map 的小demo
首先注册一个google账号,获取 Google Map for iOS 的原创 2014-11-21 16:21:46 · 859 阅读 · 0 评论 -
ARC下的单例及其应用
dispatch_once 创建单例模式:dispatch_once函数中的代码块只会执行一次,而且是线程安全的。// ViewController.m// MyGizmoDemo//// Created by yons on 15-3-3.// Copyright (c) 2015年 yons. All rights reserved.//#import "原创 2015-03-03 14:35:45 · 450 阅读 · 0 评论 -
FMDB开发数据库
FMDB介绍:FMDB是iOS平台的SQLite的数据库框架,(用oc封装的)。其中主要有三核心类:1.FMDatabase 一个FMDatabase对象代表一个单独的SQLite数据库2.FMResultSet使用FMDatabase执行查询后得结果集3.FMDatabaseQueue用于在多线程中执行多个查询或更新,线程安全的执行更新在F原创 2015-02-28 13:56:35 · 535 阅读 · 0 评论 -
二、通过纯代码创建的UICollectionView的简单使用
之前写了一个Xib创建UiCollectionView的简单使用的demo,现在写个用纯代码写的,原理其实差不多,只是那个Cell之前是用XIb现在用一个继承UiColelctionViewCell的类代替,如下所示:1.首先创建一个CollectionCell的类继承UIColelctionViewCell@interface CollectionCell : UICollect原创 2015-10-20 14:44:35 · 2754 阅读 · 0 评论 -
ios原生二维码扫描
刚做了一个关于扫二维码的项目,以前没接触过这些,觉得很难,就网上找demo,找到了一个ZBarSDK的第三方框架,别人集成好的,感觉还是挺简单的,后来别人说有原生的而且相对还精确些,也不是很难,就在网上查阅了相关的资料,敲了一个小 demo也挺简单,总结一下的:1.做原生的二维码扫描需添加其相应的库;在需要调用扫描的视图导入其头文件#import 2.主要用的类有如下几个:原创 2015-11-06 14:45:31 · 805 阅读 · 0 评论 -
appledoc工具的使用
之前较忙,有一阵子没写博客了,闲来无事最近在看iOS开发进阶这本书,虽然接触iOS也有一年多了,但对一些工具还是了解的比较少,所以最近主要针对工具这块学习的,共勉;看了下appledoc(https://github.com/tomaz/appledoc),是一个从源代码中抽取文档的工具,类似于java自带的javadoc工具;appledoc的优点如下:a.它默认生成的文档风格和苹果原创 2015-12-09 12:03:32 · 799 阅读 · 0 评论 -
iOS中UITableView的索引设置
看到很多app的关于UITableView的页面在右手边,都有一系列的索引设置;简单的学习了下,其实主要是调用了UITableView的相关代理方法来实现的:主要是实现下面四个方法://返回section中的row-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)secti原创 2015-11-16 14:12:34 · 16401 阅读 · 0 评论 -
关于ios9网络安全问题
今天中午,Xcode不知不觉更新到7.0了,在运行之前的项目报了一个错,如下:通过询问和网上查找找到解决方案,出现这个问题需要在info.plist配置一个属性1.右键点击info.plist文件,选择open as,如下: 添加如下信息:NSAppTransportSecurityNSAllowsArbitraryLoads原创 2015-09-28 13:53:17 · 999 阅读 · 0 评论 -
ios关于键盘遮挡处理
在一个app中,基本上都有一些输入项,那么问题就来了,有的输入项在底部,当弹出键盘时可能就会把该输入框遮住,针对这个问题,我们就可以用通知(NSNotificationCenter)解决;1.首先我们需要注册相应的通知如下: //键盘将要显示时通知 [[NSNotificationCenter defaultCenter] addObserver:self原创 2015-10-28 11:40:35 · 563 阅读 · 0 评论 -
IOS视图生命周期与视图控制器关系
以视图的四种状态作为基础:1.viewDidLoad在视图创建的时候调用这个方法,且运行的时候该方法只调用一次;2.viewWillAppear视图创建完毕,将要进入该窗口的时候调用改方法;3.viewDidAppear视图已经加入到窗口时调用;4.viewWillDisappear视图即将消失、被覆盖或是隐藏时调用;5.viewDidDisappear原创 2015-09-24 11:52:22 · 421 阅读 · 0 评论