IOS开发
文章平均质量分 64
CQAHF
爱苹果,爱生活
爱编程,爱自己
展开
-
解决代码无高亮 无提示
1.Command+Q退出Xcode2.重启电脑3.删除DerivedData文件夹(路径:~/Library/Developer/Xcode/DerivedData)4.删除com.apple.dt.Xcode文件(路径:~/Library/Caches/com.apple.dt.Xcode)5.运行Xcode即可...原创 2019-12-02 11:09:46 · 597 阅读 · 0 评论 -
IOS wkWebView 注入JS 解决webView无法post请求 以及三方结果页无法捕获返回等问题
一、webView发送post请求的三种常用方法1、加载html文件(1)将写有动态生成form表单的JS方法放到一个本地的HTML文件里;(2)在发送POST请求前先加载本地的HTML文件;(3)在文件加载完成后调用WKWebView执行JS代码的方法调用HTML里写好的JS方法并给方法传值来实现POST请求。方法一具体实现请看下边代码//js发送post请求代码&l...原创 2019-11-30 13:52:45 · 2747 阅读 · 0 评论 -
iOS Unicode转UTF-8
//Unicode转UTF-8- (NSString*) replaceUnicode:(NSString*)aUnicodeString{ NSString *tempStr1 = [aUnicodeString stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"]; NSString *tempStr...原创 2019-11-28 10:09:26 · 526 阅读 · 0 评论 -
Swift encode URL
//swiftlet customAllowedSet = NSCharacterSet(charactersIn:"!*'();:@&=+$,/?%#[]").inverted let infoValue = str.addingPercentEncoding(withAllowedCharacters: customAllowedSet)!//ocN...原创 2019-11-25 19:02:55 · 804 阅读 · 1 评论 -
ios13 UISegmentController前景色设置
#pragma mark --分段控制器- (UISegmentedControl *)segController{ if (!_segController) { _segController = [[UISegmentedControl alloc]initWithItems:_buyTypeArr]; _segController.selected...原创 2019-11-21 17:49:38 · 1151 阅读 · 0 评论 -
iOS AFNetworking 打印从服务器返回的错误提示信息
每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是data类型,看不出提示的错误的信息是什么。后面经过一些查阅发现其实是可以把这个转变为string的类型,这样就可以很明了的知道是什么错误。下面就来看看如何修改(1)找到AFNetWorking的AFURLResponseSerialization.m 文件(2)加上这句 NSStri...原创 2018-10-30 13:49:46 · 647 阅读 · 0 评论 -
iOS 国际化问题
** 原文作者:https://www.xiaolei0808.com/2016/04/24/Localized-iOS/ **一个iOS应用程序,如果想要在多个国家和地区的AppleStore上架,是很简单的一件事情。如果想要每个国家和地区的用户都能获得良好的使用体验,首先需要做的一件事情就是能够让用户打开App的第一时间,看到的是自己熟悉的语言。也就是说App能够根据用户当前所使用的语言或...原创 2018-09-11 14:41:18 · 434 阅读 · 0 评论 -
iOS启动异常处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //启动异常处理 InstallSignalHandler();//信号量截断 InstallUncaughtExceptionHandler();/...原创 2018-09-06 13:24:00 · 418 阅读 · 0 评论 -
IOS引导页
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self initUserGuidePage]; //用户引导页}// 用户引导页-(void)initUserGuidePage{ if (![[N...原创 2018-09-06 13:38:55 · 894 阅读 · 0 评论 -
yy出品必属精品之 YYKit
github的下载地址https://github.com/ibireme/YYKit YYKit 是一组庞大、功能丰富的 iOS 组件。 为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,我从中拆分出以下独立组件:YYModel — 高性能的 iOS JSON 模型框架。 YYCache — 高性能的 iOS 缓存框架。...原创 2018-08-23 17:25:57 · 503 阅读 · 0 评论 -
使用YYAnimatedImageView加载GIF图,并且可以控制只播放一次
//1.初始化YYAnimatedImageViewYYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] init];imageView.backgroundColor = [UIColor whiteColor];imageView.contentMode = UIViewContentModeScaleAspect...原创 2018-08-23 17:23:11 · 9400 阅读 · 0 评论 -
[iOS]定制性强的广告轮播图--SCAdView
pod 'SCAdView' SCAdView *adView = [[SCAdView alloc] initWithBuilder:^(SCAdViewBuilder *builder) { builder.adArray = arrayFromService; builder.viewFrame = (CGRect){0,100,s...转载 2018-08-23 17:02:40 · 387 阅读 · 0 评论 -
保留小数点2位,最大金额不超过特定值
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField ==_billAccountTF) { NSScanner *scanner...原创 2018-07-09 14:55:48 · 476 阅读 · 0 评论 -
ios 优秀的三方块总结
还是比较方便的,起码完成了分类,只是没能加上自己收藏时对链接的注释(这样查找更快了),昨天朋友推荐了Astral,通过加标签的方式来实现分类,也很直观明了...那为什么LZ还要做这个整理呢?一是,能够分享出来;二是:可以自己无限的加入自己解释,更快的天下Code,唯快不破查找_!总览/大集合vsouza/awesome-ios (A curated list of awesome iOS ecos...原创 2018-06-20 15:39:40 · 1469 阅读 · 0 评论 -
ios 当前周周一到周日日期
// 获取当前周的周一和周日的时间- (NSString *)getWeekTime{ NSDate *nowDate = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comp = [calendar components:NSYearCalendarU...原创 2018-06-29 14:35:28 · 1772 阅读 · 0 评论 -
ios 动态标签 可点击
#import "XGTagView.h"@interface XGTagView()@end@implementation XGTagView/** * 初始化 * * @param frame frame * @param tagArray 标签数组 * * @return */- (instancetype)initWithFrame:(CGRe...原创 2018-05-24 17:08:20 · 599 阅读 · 0 评论 -
iOSBugly的使用
-(void)initBugly{ //[Bugly startWithAppId:BuglyKey]; BuglyConfig *config = [[BuglyConfig alloc] init]; config.applicationGroupIdentifier = @"xxxxxx"; //非正常退出事件(SIGKILL) confi...原创 2018-09-06 13:42:28 · 737 阅读 · 0 评论 -
iOS 关于APNS推送问题总结
最近在项目中,遇到了在测试环境下可以正常接收到推送通知,但是在正式环境下却不可以接收到推送通知。并且,appstore上面的app也是可以正常接收到通知。 一开始,我觉得测试环境可以正常接收,说明代码可能没问题(本身推送这块的代码并没有动)。那就可能是正式推送证书过期了,让服务器那边看了,没问题。而且,appstore上面的app可以正常使用,也说明了正式推送证书没有过期。但是,问...原创 2018-09-18 18:14:47 · 615 阅读 · 0 评论 -
iOS 信号量机制
使用gcd的同学大都知道ios中开辟线程,使用gcd很容易实现。如果同时要开启多个子线程异步执行,那么同学们有没有考虑过多个子线程异步执行的时候,假如cpu提供的可用资源不足以支撑n个子线程run的时候,会出现什么情况?也许有的同学会认为添加线程锁让线程处于加锁状态下运行,这样的确可用控制,但是gcd的控制就需要使用gcd特有的处理方式,也就是今天所说的信号量机制。通过信号量来严格控...原创 2018-09-14 17:28:05 · 1160 阅读 · 0 评论 -
Xcode 不走断点 无非以下几种情况
今天,我在调试一个非常紧急的bug,突然Xcode不走断点了。于是乎,就找些资料,解决一下,记录一下。第一种,debug模式下,Xcode不走断点解决方法:edit scheme -> info,build configuration 修改为Debug,Debug executable前的对勾打上。第二种,debug模式下,xcode不在断点代码处停止,会进入线程...原创 2019-09-05 12:14:48 · 5235 阅读 · 0 评论 -
iOS tableView遍历获取输入框上每一项的值
1、声明初始化一个用来装NSIndexPath的可变数组2、将UITableViewCell里每一个IndexPath添加到数组中3、在提交数据时,通过遍历拿到每一个IndexPath,再通过IndexPath获取到cellfor (int i=0; i<self.indexArr.count; i++) { NSIndexPath *indexPath = s...原创 2019-08-07 14:09:43 · 575 阅读 · 0 评论 -
iOS 根据数组中字典某一元素进行升降序排序
NSArray *sortDesc = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"conditionCode" ascending:YES]]; NSArray *sortedArr = [responseObject[@"retData"] sortedArrayUsingDescrip...原创 2019-08-07 14:05:57 · 852 阅读 · 0 评论 -
iOS文字滚动效果 之 横向滚动
https://www.jianshu.com/p/6f4e3caf058d转载 2019-05-30 15:35:31 · 1577 阅读 · 0 评论 -
iOS 各种demo链接汇总~图表
一、图表PNChart - 国内开源作者,动态的图表。swift-linechart - 功能完整、实用的折线图组件。使用方便,参数配置简单。是不可多得的优质组件--swift。ios-charts - 一款优秀 Android 图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。缺省提供的示例代码为 Object...原创 2019-02-14 14:46:04 · 285 阅读 · 0 评论 -
shimmer的使用
1、shimmer是一款优秀的动态提示框效果三方库,该库由Facebook开源,同时支持Android、iOS、jiava等的支持。2、shimmer的使用相当简单,通过pod管理导入到项目即可。3、具体使用如下代码#import "ShimmerVC.h"#import <FBShimmeringView.h>#import <FBShimmeringLaye...原创 2019-01-10 10:09:03 · 1405 阅读 · 0 评论 -
MMPlaceHolder的使用
这篇博客主要介绍MMPlaceHolder的使用,在开发过程中虽然很少使用到,但是集成到项目中还是很有作用的,主要作用就是用来展示UI效果图,将你所写的UI控件的尺寸标记在view上,可以用来和UI设计图进行尺寸对比,还一个作用就是不用再给是否显示的控件添加背景就可以一步了然的知道该控件所在的位置以及大小。 该控件的使用很简单,只需要通过Pod导入进行管理即可。采用单...原创 2019-01-10 10:03:32 · 305 阅读 · 0 评论 -
iCarousel的简单介绍及应用
iOS开源类iCarousel介绍iCarousel是一个类,它继承于UIView,用于简化实现各种类型的旋转木马(分页滚动视图)iPhone、iPad和Mac OS。iCarousel实现一些常见的影响如圆柱、平面式的旋转木马。经过 iCarousel类的封装,使iCarousel类的使用方式类似于UITableView的使用,每一个界面类似于一个单元格。 iCarousel内先创建一个可变...原创 2018-12-10 10:26:59 · 978 阅读 · 0 评论 -
IOS 任务执行顺序
关于dispatch_group的概念以及几种场景下的使用:1、调用接口的时候,一个vc下要调用多个接口的情况下,而且这写接口成功回调顺序需要严格控制。目前的解决方式通常是在第一个接口成功的回调里边调起第二个接口,这种方式不能说不行,但是某些时候可能也会存在无法控制不能实现业务逻辑。但是通过dispatch_group就可以很好的控制并实现这一目的。2、现在有4个任务,任务1、任务2、任务...原创 2018-09-14 17:43:38 · 1831 阅读 · 0 评论 -
IOS APPDelegate 跳转指定页面
情景一:在开机启动广告中跳转:实现思路就是把广告视图作为当前的跟视图,这样的话很多时候,在跳转的时候就不能通过获取跟视图的方式来获取UITabBarController,再通过UITabBarController在获取导航控制器了,因为这个时候通过跟视图获取到的是广告视图控制器。呢么想获取到跟视图控制器该怎么做呢?我的想法是再次让tabbarController作为跟视图控制器,再次通过跟视图控制...原创 2018-05-23 09:58:31 · 1940 阅读 · 0 评论 -
侧滑返回上一级
侧滑返回NavigationController自从iOS7.0之后, 增加了一个滑动返回功能, 当push入一个控制器并且展示了这个控制器的View时, 除了点击左上方的返回按钮之外, 还可以向右滑动屏幕左边缘同样可以达到返回上一级界面的效果但是侧滑返回的问题就在于, 我们在项目中, 经常要使用自定义的返回按钮. 而当你使用了自定义按钮时, 你会发现侧滑返回效果挂掉了侧滑返回的原理分析手势:侧滑...原创 2018-04-25 18:31:01 · 705 阅读 · 0 评论 -
ios tableViewCell 高度自适应
开发过程中,会很少使用系统自带的cell,一般都会自定义cell,用来展示各式各样的界面布局,所以我们要自定义cell---------项目中用过很多种cell高度自适应的算法,都感觉挺麻烦的,这个方法相对来说简单易懂,希望对大家有帮助1、创建存储数据类: Model层2、创建自定义cell类:.h文件 View层#import @class HHPoll...原创 2018-04-14 10:21:16 · 1589 阅读 · 0 评论 -
iOS WKWebView UIWebView
开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载。这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难。如果加载网页多,还可能因为过量占用内存而给系统kill掉。各种优化的方法效果也不那么明显(点击查看常用优化方法)。iOS8以后,苹果推出了新框架Webkit,提供了替换UIWebView的组件WKWebView。各种UI原创 2018-01-08 08:52:45 · 384 阅读 · 0 评论 -
iOS11、iPhoneX、Xcode9 的注意点汇总
参考文章: WWDC 2017 session204: Updating Your App for iOS 11 Apple 官方文档: Human Interface Guidelines iPhone X 中文官方适配文档 你可能需要为你的 APP 适配 iOS11 iOS11 导航栏按钮位置问题的解决 iOS11 遇到的坑及解决方法 适配 iOS11&iPhone原创 2018-01-16 09:19:49 · 1054 阅读 · 0 评论 -
afn3.0上传json数据
使用AFNetworking3.0后网络请求由原来的AFHTTPRequestOperationManager变为AFHTTPSessionManager。一般的Post请求变成了这样: NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"phoneNumber"] = @"180原创 2018-01-15 11:12:11 · 929 阅读 · 0 评论 -
UIView动画基础
1:setAnimationDelegate: 设置动画代理对象2:setAnimationDuration:设置动画时间长度3:setAnimationDelay:设置延时开始时长4:setAnimationWillStartSelector:设置动画开始处理函数5:setAnimationDidStopSelector:设置动画结束处理函数//// ViewContro原创 2018-01-22 17:59:45 · 360 阅读 · 0 评论 -
iOS 音频播放
1:AVAudioPlayer的基本概念2:AVAudioPlayer的创建3:AVAudioPlayer的使用volume:音量设置numberOfLoops:循环播放次数prepareToPlay:准备播放play:播放stop:停止pause:暂停//// ViewController.m// AVAudio音频播放//// Created原创 2018-01-22 15:21:22 · 270 阅读 · 0 评论 -
iOS详解Runloop
Runloop什么是 Runloop?从字面上讲就是运行循环。它内部就是do-while循环,在这个循环内部不断地处理各种任务。一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退原创 2018-01-12 11:48:43 · 422 阅读 · 0 评论 -
iOS 谈谈 typedef 和 define
1. typedef 类型定义作用:给类型起别名(给已知的类型起别名)。常用于简化复杂类型,变量类型意义化等。typedef double NSTimeInterval; //给double取别名为NSTimeInterval(变量类型意义化)typedef NSTimeInterval MyTime; //给NSTimeInterval取别名为MyTimetypedef char *原创 2018-01-12 11:12:06 · 312 阅读 · 0 评论 -
iOS 指定视图的圆角、label、button圆角设置
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 150, 60, 60)]; view.backgroundColor = [UIColor orangeColor]; // UIRectCornerTopLeft 左上角 // UIRectCornerTopRight原创 2016-09-18 09:37:15 · 2076 阅读 · 0 评论 -
iOS音频格式转换
iOS处理音频过程中有时候需要不同格式的音频进行转换,最近需要将m4a格式的音频转换成wav,在网上搜索之后代码整理如下:- (void)convetM4aToWav:(NSURL *)originalUrl destUrl:(NSURL *)destUrl { AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL:原创 2016-09-18 09:52:56 · 2396 阅读 · 0 评论