自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

icefishlily的博客

需要你,我是一只鱼~

  • 博客(78)
  • 收藏
  • 关注

原创 iOS - UILabel点击选中文字,部分高亮,YYLabel

最近有这个一个小需求,有这样一个tipLabel:"添加QQ:670360112 进行在线咨询" 。其中qq号要求高亮并且可以点击复制,并弹出提示框提示复制成功。好吧,需求基本是这样,在研究很久之后,发现YYLabel可以搞定。简单介绍一下YYLabel,它是YYText里边的一个控件,YYText可以在GitHub上找到:https://github.com/ibireme/YYText

2016-11-01 17:26:58 15071

原创 Masonry布局的UIView动画

在不使用自动布局的时候,如果要做一个移动的动画,很简单,直接修改移动控件的center就可以,但是用了Masonry进行自动布局,那就不能这么做了,不过方法依然很简单:- (void)selecteRate { [self.selectView mas_updateConstraints:^(MASConstraintMaker *make) { make.top.e

2016-10-14 15:14:22 4784

原创 iOS - UIPickerView文字大小颜色修改,无限轮播,无限循环滚动

最近项目里用到了UIPickerView,要求无限轮播,简单看了看UIPickView的所有属性和所有代理方法,没有无限轮播的设置,遂去百度了一把,发现网上流传着一个帖子,大家各种转载,看了看后,明白其中道理,原来是这样!UIPickerView,使用规则与UITableView很像,下边是UIPickerView的.h文件,包涵两个代理的描述://// UIPickerView.h

2016-09-29 10:31:26 6534

原创 iOS - UITableView加载网络图片 cell适应图片高度

项目中,有一个需求,是加载几张网络图片,每一张都要求宽度与屏幕宽度一样,然后高度自适应;并且几张自上而下一次排列。这让我想到了UITableVIew,但是图片的处理成了问题,经过我多次的处理,完成了这个需求大概的思路是:1.重写自己的Cell,Cell中利用一个UIButton展示图片,而不是UIImageView,因为这样好控制图片的宽度与屏幕一致2.每一个图片在未完成网络加载时

2016-09-21 11:57:51 13795 2

原创 iOS - 高德地图API简单开发(一)

最近看了看高德地图的开发平台以及它们的API,奇怪的是一直没找到语音API,这个问题放到以后再说吧。对于高德地图的开发平台,它们提供的说明文档还算健全,而且由于API是国人开发的,所以所有接口都有中文的接口说明,很是容易理解。只不过,在加载它们的第三方库时,总是一个功能一个功能的加载,没有像百度那样,一下子都给了出来(开始我以为我的cocoapods坏了.......)。做了一个简

2016-09-20 14:33:19 4152

原创 iOS - launchimage加载时间修改,以及顶部status bar隐藏

launchimage,在加载程序时会显示,但是加载程序时间很短,往往一闪即逝,所以需要进行延迟,具体做法如下:在你程序中第一个加载的viewControlle的viewDIdLoad中,添加线程延迟代码:- (void)viewDidLoad { [super viewDidLoad]; [NSThread sleepForTimeInterval:3.0f];

2016-09-13 12:51:46 3029

原创 iOS - AFNetwork GET POST使用例子

目前网络上流传着一个ASI和AFN比较的一张表,先放在这里看一看AFN最新版本是支持HTTP/2协议的,而ASI是不支持的。综合一下,想研究一下AFN的使用方法。对比ASIAFN更新状态2012年10月份,已经停止更新持续更新中,目前已更新至2.0版介绍ASI的直接操作对象ASIHTTPRequest,是一个实现了

2016-09-12 15:11:17 4112

原创 iOS 苹果手机各种机型与型号对照,代码

#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINtypedef NS_ENUM(NSInteger, DeviceType) { unKnown = -1, iPhone_2G = 0, iPhone_3G, iPhone_3GS, iPhone_4, iPhone_4S, iPhone_5, iPhone_5c, iPhone_5s, iPh.

2021-09-27 09:28:04 5232

转载 iOS - GCD

https://www.jianshu.com/p/ee08ab044d9f

2020-01-10 14:53:01 220

原创 UIGestureRecognizer

#import "HLPanViewController.h"#import "Masonry.h"@interface HLPanViewController ()@property (nonatomic, strong) UIImageView *imgView;@property (nonatomic, assign) CGFloat lastScale;@end@im...

2019-12-19 10:31:59 276

转载 iOS - CAEmitterlayer粒子发射器

转载:https://www.jianshu.com/p/197c2257f597在粒子系统中,CAEmitterLayer负责发射粒子(当然粒子也可以发射粒子),而这些所谓的粒子,就是CAEmitterCell,我们可以将CAEmitterLayer比作是CAEmitterCell的工厂,它会按照你的设置来以不同的样式不断产生粒子,也就是CAEmitterCell。(1)CAEmitter...

2019-06-24 15:00:19 561

原创 iOS - tagView 砖块墙 标签

我用的方法是罗列UIButton,然后通过计算进行布局直接上代码- (void)addTagsWithDictionary:(NSDictionary *)dictionary{ for (UIView *view in self.contentView.subviews) { [view removeFromSuperview]; } ...

2019-05-09 16:54:01 757

转载 iOS - AVFodundation转发记录

http://www.cocoachina.com/ios/20180419/23088.htmlhttp://www.cocoachina.com/ios/20180423/23121.htmlhttp://www.cocoachina.com/ios/20180426/23191.html

2019-04-22 09:29:40 143

原创 iOS - App进入后台,毛玻璃效果

OK!需求是这样的,当app进入后台之后,双击home键之后,app有一个模糊效果,即毛玻璃效果。目前许多金融app有这个效果(比如:招商银行、支付宝)。研究了一下,苹果原生的毛玻璃效果感觉不太美妙,下边是我认为效果最好、且不耗费内存的方法。 大致思路:1.在app即将进入后台时,对window截屏,得到屏幕图片并进行毛玻璃效果处理,处理之后将图片放在window最上边;2.在...

2019-02-14 15:34:10 2763 2

转载 iOS app内显示远程通知

 最近整理了项目使用的推送资料,包括原生APNS、亚马逊推送、谷歌FireBase推送,从申请证书到代码工具调试,基本整理的差不多。        本篇文章主要介绍app在前台活跃时,有推送时显示系统的原始通知框。在网上查了很多资料,都说只能app在后台时才能调用系统的通知弹框,所以以前用的是自定义的弹框,最近发现在app活跃时,可以调用本地通知达到app前台活跃时显示系统的弹框。    ...

2018-12-19 19:32:39 738

转载 iOS textfield限制长度,中文占2字符,英文占1字符

     之前遇到一种情况,限制textfield长度,并且要适配多语言,做到,例如中文占2字符,英文占1字符,还有考虑其他语言,网上找了很多方法,不太合适,最后结合网上的方案,修改出了还比较适用。首先,增加对textfield文字改变的监听,[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textF...

2018-05-24 12:16:41 1490

转载 iOS - UITableView reload 时抖动闪动漂移等问题

1.视图漂移或者闪动原因: 因为iOS 11后系统默认开启Self-Sizing,首先要知道Self-Sizing是个什么东东。官方文档是这样解释的:大概就是说我们不用再自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。 IOS11以后,Self-Sizing默认开启,包括Headers, foot...

2018-05-24 11:31:03 6438 1

转载 iOS iPhoneX 适配 之 UITableview与MJRefresh

最新iOS 11 &amp; iPhone X适配方案传送门:10分钟适配 iOS11 &amp; iPhoneX发现问题升级Xcode 9 + iOS 11后,发现原本没问题的collectionView和tableView像是中了风一样,头部刷新UI出现了错乱。查阅发现 iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetA...

2018-05-23 10:50:43 3508

转载 iOS - git操作规范

git 操作规范一、 创建与合并分支1、 从master分支创建dev分支并切换到dev分支git checkout mastergit checkout -b dev其中,git checkout -b dev 等价于:git branch devgit checkout dev(1)git branch 查看本地当前的分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分...

2018-05-17 17:28:48 589

原创 iOS - Xcode编译线程数控制与测试

知识点:1.Xcode默认的编译线程数,就是cpu的内核数2.可适当增加编译线程数来提高编译速度涉及到的命令:1.获取当前内核数:sysctl -n hw.ncpu2.设置编译线程数:defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 323.获取编译线程数:defaults re...

2018-05-15 10:24:17 1653

转载 iOS - Xcode无线真机调试

软硬件要求:- Xcode 9.0 beat 及以上版本- macOS 10.12.5 及以上版本- iOS 11.0 beat 及以上版本连接要求电脑和设备处于同一 Wifi 环境虽然Xcode支持无线调试, 但让你的设备支持无线调试之前, 必须连接上数据线, 做好相应配置通过数据线将您的设备,连接至Xcode.打开菜单栏 Window &gt; Devices and Simulators...

2018-05-15 09:26:28 2681

转载 iOS - Xcode提高编译速度,增量编译,ccache

前言贝聊目前开发的两款App分别是贝聊家长版和贝聊老师版,最近因为在快速迭代开发新功能,项目规模急速增长,单个端业务代码约23万行,私有库约6万行,第三方库代码约15万行,单个客户端的代码行数约60万。现在打包一次耗时需要11~12分钟。虽然还远远比不上 Facebook 的40分钟,但是我们在内测的时候,经常一天要发布内测版两到三次。打包时CPU占用基本上是百分百的,因为没有专门的 CI 机器,...

2018-05-10 14:28:38 5654

原创 iOS - 通电话时,APP页面下沉20的问题

除了iPhoneX,其他机型都有这个问题。对于用frame布局的APP,就完蛋了。解决方案其实很简单,就是换用自动布局,把绝对布局改为相对布局。说这很简单,但是对于都是frame的项目,我足足改了一整天~~!希望能给你带来一些清晰的思路吧...

2018-05-09 15:47:59 882

转载 iOS - 放射变换CGAffineTransform

一、理论基础请参考CGAffineTransform简单分析二、效果演示三、实现代码3.1:位移变换-(void)positionAnimation{ _demoView.transform = CGAffineTransformIdentity; [UIView animateWithDuration:1.0f animations:^{ _demoView.tr...

2018-05-02 15:00:26 311

原创 dSYM符号集解析iOS app线上崩溃 (atos)

收集崩溃信息 // 将系统提供的获取崩溃信息函数写在这个方法中,以保证在程序开始运行就具有获取崩溃信息的功能  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  // 将下面C函数的函数地址当做参数  NSSetUncaugh...

2018-03-27 09:36:05 1516

原创 iOS - UITableView cell中添加展开关闭的功能(cell高度动态变化)

需求中,需要在一个UI列表中,添加一个可以展开和关闭的功能,可以展开和关闭的部分是一个说明文案,放在Label中。展开方向是向下展开的,这样cell的高度就变了,在布局的时候,需要动态reload这个cell。思路:在UITalbeVIew加载之前,需要提前计算好每个cell的高度,包括展开和关闭两个状态的高度,通过一个NSMutableArray维护。在cell发生高度改变时,去更改这个arra...

2018-03-22 09:35:05 1138

原创 iOS - 时间日期格式化

将日期时间转化为字符串// 实例化NSDateFormatter NSDateFormatter *formatter = [[NSDateFormatter alloc] init];// 设置日期格式 [formatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"];// 获取当前日期 NSDate *currentDate = [N...

2018-03-21 10:05:42 3513

转载 iOS-解决苹果APP审核需要的IPv6地址的问题

起因:苹果APP上线被驳回,原因是使用WIFI网络+IPv6地址无法登录。 解决问题概述:网上有很多中办法解决这个问题,部分是通过IPv4转IPv6的办法,并不是真正的IPv6地址。我们想通过申请国外具有IPv6地址的VPS,然后安装Nginx转发IPv6的请求到国内的IPv4服务器。 第一步:申请VPShttp://bandwagonhost.com申请一个一年期的支持IPv6地址的VPS,一年...

2018-02-22 08:59:21 4781

转载 iOS - -bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby

升级10.13.1以后Pod命令失效,解决办法如下:终端执行brew link --overwrite cocoapods尝试 Pod 命令是否已经恢复若报错继续执行brew reinstall cocoapodsbrew install rubybrew link --overwrite cocoapods尝试 Pod 命令是否已经恢复

2018-02-07 13:44:05 574

原创 iOS - 递归遍历文件夹下的所有文件

- (void)showAllFileWithPath:(NSString *) path { NSFileManager * fileManger = [NSFileManager defaultManager]; BOOL isDir = NO; BOOL isExist = [fileManger fileExistsAtPath:path isDirectory:&

2017-12-29 16:27:41 6580

原创 iOS - 阿里云 HTTPDNS iOS 植入

首先说明一下,要解决的问题:DNS劫持。对,就是要解决DNS劫持这个问题。不太懂网络的同学们可能不太懂什么是DNS,什么又是DNS劫持,这里简单介绍一下。DNS就是域名解析系统,就是把我们平时用的网址域名(如www.baidu.com   www.sina.com.cn)解析成相对应的服务器IP,只有解析成IP之后,网络请求才能找到服务器。DNS劫持是啥呢?更简单,就是有人把你的域名解

2017-12-21 14:18:10 4550 1

转载 iOS - HuggingPriority和CompressionResistance 一个例子教你理解 UILabel 抗拉伸 抗压缩

我取名 setContentHuggingPriority为 “抗拉伸”(这个名字我自己认为比较准确);setContentCompressionResistancePriority 取名为“抗压缩”,接下来有个小例子,里面解释的也是挺详细的 UILabel * label = [[UILabel alloc]init]; [self.view addSubview:label]

2017-12-21 10:06:03 2329

原创 iOS - UINavigationItem 的titleView显示不出来的解决方案

有这样一个需求,就是一个页面的顶部title需要是两行,上边是产品名称,下边是产品code,并且名称和code是不同的字号查看UINavigationItem的关于title的接口和属性:其中,title已经不能满足我的需求了,就用titleView开始我的布局是用masonry布局的,制作了一个容器view,其中放了两个UIlabel,用masonry布局,但是容器view并没有

2017-12-14 14:08:51 5803

原创 iOS - 判断一个字符串是否是ip地址

/** *判断一个字符串是否是一个IP地址 **/+ (BOOL)isValidIP:(NSString *)ipStr { if (nil == ipStr) { return NO; } NSArray *ipArray = [ipStr componentsSeparatedByString:@"."]; if (ipArray

2017-11-20 17:14:11 3415 2

原创 iOS - 异步倒计时,中途结束,以及异步中如何进行UI修改

有这个一个需求,需要异步下载图片,并且要求下载图片设置超时5秒,图片回来后或者倒计时到了5秒,要弹出一个alertView//开启超时计时器,活动接口发出时开启,倒计时完成后,调用timeOuthandler- (void)startTimeOutRecord { NSDate *timeout = [[NSDate alloc] initWithTimeIntervalSinceN

2017-11-17 14:15:57 497

原创 NSString各种玩转

NSString字符串属性 //////////字符串属性////////// NSString *str1 = @"string"; NSLog(@"长度: %ld", str1.length); NSLog(@"描述: %@", str1.description); NSLog

2017-11-15 09:54:30 361

原创 NSString 各种比较方法

- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask range:(NSRange)compareRange locale:(nullable id)locale;compare:(NSString *)传入一个需要比较的字符串。例如 [value compare:@"

2017-11-15 09:52:09 1611

原创 iOS - UIAlertController使用

UIAlertController是iOS8之后出现的,代替了UIAlertView。UIAlertView大家都很熟悉了,初始化可以设置文案,通过代理做点击处理。而UIAlertController会更简单,它的点击处理是通过blcok完成的。示例代码:UIAlertController *alertController = [UIAlertController alertContr

2017-08-28 15:58:43 959

转载 AVAudioRecorder 录音

苹果提供了AVAudioRecorder类来让我们进行音频录制,是录音变的非常的便捷!在使用AVAudioRecorder进行录音之前要做几样准备工作,① 、在iOS10及以上,调用系统功能需要在info.plist文件里添加相应的key,如图,在info.plist文件下添加Key: Privacy - Microphone Usage Description, Value值可以自己随便

2017-07-31 16:13:02 1121

转载 AVAudioPlayer音频播放

简述AVAudioPlayer 是一个属于 AVFoundation.framework 的一个类,它的功能类似于一个功能强大的播放器,AVAudioPlayer 支持广泛的音频格式,主要是以下这些格式。AACAMR (Adaptive multi-Rate,一种语音格式)ALAC (Apple lossless Audio Codec)iLBC (internet Low Bitra

2017-07-31 15:56:59 3047

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除