- 博客(149)
- 资源 (3)
- 收藏
- 关注
转载 UIViewController的view在有navBar和tabBar影响下布局区域的问题
转自:https://www.cnblogs.com/bridge-wuxl/p/10790888.html影响 View 布局区域的有以下三个属性:self.edgesForExtendedLayout (影响View布局区域的主要属性)self.navigationController.navigationBar.translucent (navigationBar 是否半透明)self.tabBarController.tabBar.translucent (tabBar 是否半透明)
2021-09-07 14:29:24
592
原创 iOS13 iPadOS 获取UserAgent的问题
适配 iOS13 的时候遇到一个关于WKWebView设置UserAgent的问题,在iPadOS上,WKWebView的UserAgent变成了类似这样:useragent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko)解决办法:只需要在WKWebView初始化的时候设置下preferredContentMode的值为WKContentModeMobile即可:
2020-10-21 15:37:09
2431
2
原创 iPad中将UITabBar的图标和文字改为上下结构显示
@implementation UITabBarController (TabButtonType)- (UITraitCollection *)traitCollection { UITraitCollection *oldTrait = super.traitCollection; if ([[UIDevice currentDevice] userInterfaceIdio...
2020-05-08 16:15:11
879
原创 ios 根据frame截取图片
//创建UIImage Category -(UIImage *)clipImage:(CGSize)size { UIImage *aImage = [self fixOrientation] ; //被切图片宽比例比高比例小 或者相等,以图片宽进行放大 if (aImage.size.width*size.height <= aImage.size.heigh...
2019-12-13 14:02:03
619
原创 iOS 渐变颜色
/** 渐变方式 - VKGradientChangeDirectionLevel, 水平渐变 - VKGradientChangeDirectionVertical, 竖直渐变 - VKGradientChangeDirectionUpwardDiagonalLine, 向下对角线渐变 - VKGradientChangeDirectionDownDiagonalLi...
2019-11-21 11:41:57
201
转载 iOS[swift]防止单点手势连续快速触发
按钮被连点,单点手势被连续触发有时候我们的APP会出现各种糟糕的现象(例如: 绑定事件是弹出个页面,连点之后连续弹出多个相同的页面,或者绑定某个指令,连点之后连续下发多个指令等等)等等...防止按钮的连点我已经在之前的文章中总结过了,本文总结的是防止自定义绑定的单点手势的连点:废话不说,老规矩上代码:import UIKitclass TapGestureManager:UITap...
2019-11-11 10:41:10
1027
转载 多次点击TableViewCell重复触发push的解决方案
给NavigationController一个标签push属性记录控制器的push转态。 在自定义的NIPNavigationController的方法- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated拦截是否正在push,如果是在push就直接return,否则...
2019-11-08 16:16:14
464
转载 iOS 防止Button或Cell快速重复点击多次响应事件
方法一1.首先定义一个BOOL类型来判断是否点击了第一次:@property (nonatomic, assign) BOOL isSelect;2.然后在点击事件中这样写:- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //防止重复点...
2019-11-08 16:15:02
870
转载 iOS UIButton之防止重复点击
转载自:https://www.jianshu.com/p/c2243ac4f620通过Runtime控制UIButton响应事件的时间间隔。思路如下:1、创建一个UIButton的类别,使用runtime为UIButton增加public属性qi_eventInterval和private属性eventUnavailable。2、在+load方法中使用runtime将UIButton的-...
2019-11-08 14:41:48
292
原创 iOS framework动态库重签名
真机上运行.framework时,如果报如下信息时表示framework动态库没有签名,需要进行重签名:dyld: Library not loaded: @rpath/XX.framework/XX Referenced from: /var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/...
2019-03-22 10:50:39
2856
原创 iOS11 tableView 刷新的情况下列表向上移动
初始化tableView时设置预估行高if (@available(iOS 11.0, *)) { self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estima...
2019-03-20 15:37:40
1446
原创 AFNetworking怎么post x-www-form-urlencoded类型的数据
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; [manager.requestSerializer setValue:@"application/x-www-for...
2019-03-11 18:18:31
928
转载 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at
今天在macOs系统中安装redis遇到了头大的问题; 原因是升级了macOS Sierra 版本之后,command line tools 工具没有用, google了一下,在stackoverflow.com上面找到了问题的解决方法。 控制台输入以上代码下载xcode命令行工具,就可以完美解决问题了(不会帮你安装xcode)。原网页: https://stacko...
2019-01-25 14:08:02
3096
转载 iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法
iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法UIWebview在播放网页视频的时候我们需要进行是否全屏状态的监听。一般的需求是在播放视频时候需要横屏,退出全屏的时候不能横屏,但是UIWebview没有给出响应的方法,本问题解决的Demo工程https://github.com/darren90/iOS_Demo/tree/master/02-UIWebvie...
2018-12-11 17:31:48
379
转载 关于UIImage的capInsets以及Xcode的图片Slicing功能和Stretching功能
转自:https://blog.csdn.net/zhongad007/article/details/784042321. 可视化操作:Slicing1. 关于每个方向上三条线分别代表什么意思首先从水平方向上看左边线表示左边的区域不能被重复右边线表示右边的区域不能被重复中间线和左边线之间的区域被重复中间线和右边线之间的区域舍弃掉如图 同理从垂直方向上看一样...
2018-11-22 18:12:17
675
转载 RunLoop-UITableViewCell加载高清大图的速度优化
转自:https://www.jianshu.com/p/719cfd7d0a2aiOS开发中,UITableView的优化一直是一个老生常谈的问题,除了常用的预加载,缓存等方法以外,其实利用RunLoop 的循环也可以实现超清大图的流畅加载,具体的使用方法我们利用一个demo来详细理解:首先,我们有一个需求,就是要从网络加载高清大图到UITableViewCell上,而且每个Cell上面...
2018-11-19 14:46:07
557
转载 RUNLOOP优化大图加载
转自:https://blog.csdn.net/bruceyou1990/article/details/80199650 1 为什么要优化大图加载大图片在渲染的时候,比较耗费时间 我们利用RUNLOOP 来优化:思路:1.每一次RUNLOOP,都只加载一个小任物,把图片任务放到数组,从数组循环来加载.这样可以是项目达到流畅. 2.只加载当前视图内的图片任务 3.为了不让run...
2018-11-19 14:45:31
2597
转载 ios12.1 tabBar 中的图标及文字出现位置偏移动画
转自:https://blog.csdn.net/longge_li/article/details/83654333 昨天更新12.1之后,发现app 首页push一个界面,返回的时候,tabBar上的图标和文字出现一个从上往下的神奇动画,惊呆了
2018-11-13 15:09:51
420
转载 iOS 升级Xcode10遇到的问题及其解决方法
转自:https://www.jianshu.com/p/2cc3ab5091cf1.mac下出现xcrun: error导致git无法使用的解决办法xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun解决方法:在终端输入xcode-select...
2018-11-02 14:28:01
827
转载 Xcode10:library not found for -lstdc++.6.0.9 临时解决
Xcode10:library not found for -lstdc++.6.0.9 临时解决下载stdc++.6.0.9提取自Xcode9百度云链接:stdc++.6.0.9 https://pan.baidu.com/s/1zCagMy42HGPdZj8XMfOf_Q 部分项目依赖 libstdc++.6.0.9 的会在Xcode 10无法运行其原因是Xcod...
2018-11-02 11:28:57
564
转载 iOS RAC - RACSignal
转自:https://www.jianshu.com/p/35a28cf0a22f文章系列《RACSignal 》《RACDisposable》《RACSubject、RACReplaySubject》《iOS RAC - 基本用法》《iOS RAC - 定时器》《iOS RAC - RACMulticastConnection》《iOS RAC - RACCommand》《iOS RAC ...
2018-09-24 21:48:49
713
转载 ios 模式讲解runtime & runloop
转自掘金链接:https://juejin.im/post/593f77085c497d006ba389f0相信对于从事开发人员来说 runtime 这个名称都不陌生,就像我起初只知道「 runtime 叫运行时 」,后来知道 runtime 同样可以像 KVC 一样访问私有成员变量,还有「 给类动态添加属性:LNTextField.placeholderColor || 交换方法:imag...
2018-09-23 13:12:15
2381
转载 class_addMethod详解
BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types)作用:这个方法的作用是,给类添加一个新的方法和该方法的具体实现BOOL: 返回值,yes-------方法添加成功 no--------方法添加失败Class cls: 将要给添加方法的类,传的类型 [类名 class]SEL name...
2018-09-22 16:10:36
5080
转载 Runtime基础使用场景-拦截替换方法(class_addMethod ,class_replaceMethod和method_exchangeImplementations)
前话这几天在系统的学习 runtime,在学习 runtime 的基础使用案例中,"方法替换"这种使用情况下,发现有两种写法. 其实也不是两种写法,准确的来说一种是比较严谨的,另一种则没有那么严谨.发现这两种写法的差异后,我主要集中在下列:class_addMethod class_replaceMethod method_exchangeImplementations哪个方法的...
2018-09-22 16:02:46
580
转载 iOS开发 -- KVO的实现原理与具体应用
转载链接:https://www.jianshu.com/p/e59bb8f59302本文分为2个部分:概念与应用。概念部分旨在剖析 KVO 这一设计模式的实现原理;应用部分通过创建的项目,以说明 KVO 技术在 iOS 开发中所带来的作用;如果是作为刚接触 KVO 的初学者,可以在了解第一部分的基本原理后粗略看几遍底层实现原理,再认真阅读第二部分的应用内容“学会”怎么去使用 KVO,往后...
2018-09-22 15:36:35
286
转载 iOS如何为NSMutableArray添加KVO
KVO(Key Value Observe),键值观察,一种典型的观察者模式。iOS另一个观察者模式Notification,不过这个要在消息中心注册,相比而言比较麻烦。 建立KVO的三个步骤: 1、注册要监控的对象属性addObserver:forKeyPath:options:context: 2、observeValueForKeyPath:ofObject:change:context:,...
2018-09-22 13:35:14
839
原创 iOS OC 计算代码执行耗时
CFAbsoluteTimeGetCurrent()函数能够以毫秒为单位计算当前时间与2001.1.1差值。CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();// do somethingCFAbsoluteTime end = CFAbsoluteTimeGetCurrent();NSLog(@"%f", end - start)...
2018-09-20 22:16:52
3453
转载 iOS之蓝牙开发—CoreBluetooth详解
转自:https://www.cnblogs.com/allencelee/p/6707901.htmlCoreBluetooth的API是基于BLE4.0的标准的。这个框架涵盖了BLE标准的所有细节。仅仅只有新的iOS设备和Mac是和BLE标准兼容.在CoreBluetooth框架中,有两个主要的角色:周边和中央(Peripheral and Central) ,整个框架都是围绕这两个主要角...
2018-09-17 11:43:35
687
转载 mac升级到10.11后重新安装Cocoapod
转载自:https://www.jianshu.com/p/768d9a966001由于Mac 10.11更改了安全机制,所以cocoapods得安装和卸载命令也有所改变,全新安全功能 Rootless,重新创造支持 iCloud Drive 文件加密的苹果应用,以及全新“受信任 WiFi”功能。一、全新安装前,先检查是否有安装残留1、如果之前装过cocopods,最好先卸载掉,卸...
2018-09-16 10:44:07
1043
转载 安装cocoapods的时候显示没有权限:You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
转自:https://blog.csdn.net/m7723sun/article/details/51076262安装cocoapods没有权限的时候,本来是$sudo gem install cocoapods ,但是显示没有权限,换成这句$sudo gem install -n /usr/local/bin cocoa pods ERROR: While executing g...
2018-09-16 10:23:10
3567
原创 NSLog各种打印
%@ 对象%d,%i 整型 (%i的老写法)%hd 短整型%ld , %lld 长整型%u 无符整型%f 浮点型和double型%0.2f 精度浮点数,只保留两位小数%x: 为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,小写a-f;%X: 为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,大写A-F;...
2018-08-31 10:17:59
1822
原创 冒泡排序优化版
private static void sort(int array[]) { int tmp = 0; //记录最后一次交换的位置 int lastExchangeIndex = 0; //无序数列的边界,每次比较只需要比到这里为止 int sortBorder = array.length - 1; for(int i = 0; i <...
2018-08-17 15:30:25
188
原创 ios 检测版本更新
//1.先获取当前工程项目版本号 NSDictionary *infoDic = [[NSBundle mainBundle]infoDictionary]; NSString *currentVersion = infoDic[@"CFBundleShortVersionString"]; //2.从网络获取appStore版本号 ...
2018-08-16 10:17:09
811
转载 [iOS] 浅析排序规则描述类: NSSortDescriptor
转载自:https://www.jianshu.com/p/3e9f0884be6bNSSortDescriptor是用来指定排序规则, 对集合等进行排序时指定结果的排序规则;他可以对一个类的某个属性(下文中方法中的key参数)指定排序规则, 也可以对一个字符串集合进行指定排序规则, 这时, 只需要把参数key赋值为nil即可.iOS中的集合都有相应的扩展方法来使用NSSortDescri...
2018-07-24 16:27:07
615
转载 iOS 的url中含有中文解决方法
转载自:https://www.jianshu.com/p/ed64b583002c[NSURLURLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法又不能完全解决问题.方法1:NSString* encodedString = [urlString stringByAddingPercentEscapesUsingEn...
2018-07-03 15:05:04
6436
转载 iOS AFN之https配置小结
转载自:https://www.jianshu.com/p/b254abbe3e13写在前面只是对AFN https配置一个简单的总结,想深入研究的大咖,请绕行哦?为什么配置https?苹果要求所有 iOS 应用在年底前默认使用 HTTPS 连接该小结具体项目环境?自签名证书(cer格式);Xcode Version 8.1;OS X EI Capita
2018-02-12 10:20:58
975
转载 iOS Bugly集成详解
转载自:http://blog.csdn.net/vbirdbest/article/details/53503845注册产品Cocopods集成SDK在AppDelegate中启用Bugly编写一个数组越界错误,启动App,查看Bugly平台中的崩溃信息配置iOS符号表1. 创建产品1 、登录: https://bugly.qq.com/v2/ 【立即接入】
2018-02-06 16:19:37
559
原创 iOS 获取手机型号,系统版本
1.手机系统版本:11.0NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];2.手机类型:iPhone 7NSString* phoneModel = [self iphoneType];//方法在下面3.手机系统:iPhone OSNSString * iponeM = [[UIDevice currentD
2018-02-05 14:17:05
7028
原创 iOS获取当前app的名称和版本号
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];CFShow(infoDictionary);// app名称NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];// app版本NSString *app_Ve
2018-02-05 14:15:22
1465
转载 教你上传本地代码到github
转载请标明出处: http://blog.csdn.net/hanhailong726188/article/details/46738929 言归正传,最近有人在群里问怎么将新创建的本地代码上传到github上,这里简单的记录一下,我喜欢使用命令行,这里全用命令行来实现,不了解git命令的可以去了解下。第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令
2018-01-31 17:54:43
184
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人