自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)

原创 升级xcode10后出现缺失相关静态库的问题

升级到xcode10后运行程序,发现依赖原来苹果的静态库找不到了,我是这样处理了的,直接将这个库删掉,发现没影响。我的项目里面原先都会依赖这两个库lstdc++.6.0.9和lstdc++.6,(做的是腾讯互动直播)。找了会,也没找到之前的库,就直接删了,结果也没有影响。如果过删了有影响的童靴,可以参考这篇文章https://www.jianshu.com/p/a1ddae72191c...

2018-10-12 18:18:44 949

原创 升级xcode10后出现的错误

xcode升级到10后,运行报下面错误,大概意思就是,你的某个sdk/项目里面有多余的info.plist文件:-1: Multiple commands produce '/Users/zhangxiangdong/Library/Developer/Xcode/DerivedData/XCLSDKDemo-dwzoiktyggcxpifyjnpgrdoafkgl/Build/Product...

2018-10-12 18:07:01 2698

原创 iphoneX布局适配及iOS 11.0系统适配

一,想必大多开发者将自己的项目跑到iPhoneX模拟器上后,会出现各种异常,包括界面布局的变化,根据自己遇到的情况主要说下面两点大家肯定需要修改的:(1),启动页不是全屏的,(如图)解决办法:如果使用的是LaunchImage方式启动图的话,直接在iOS8.0 and later 下面portrait打钩,就会出现iphoneX的启动图(如图) 将美术做好的图片拖进去就好了,大小是:1125x2

2017-10-20 18:32:49 1744

原创 如何给屏幕添加pop全屏手势

一,目前基本上所有的APP在push到一个界面,可以利用手势滑动界面返回到上一级界面,这就是所谓的pop手势(系统自己默认的是,只能在边缘滑动的时候才能返回),废话不多说直接开始代码1,基于UINavigationController创建自己的导航2,导入头文件#import “objc/runtime.h”这里就需要说一点运行时了,他是比较厉害的,也是比较高逼格的,所以咋们或多或少要知道这个东西。

2017-09-26 11:52:26 859

原创 ios 单元测试(XCTestCase)覆盖率统计

一,使用XcodeCoverage工具来统计单元测试的覆盖率,点击XcodeCoverage获取二,使用方法:1,将下载下来的XcodeCoverage放到与工程目录平级的地方。2,配置项目环境,2.1在build settings中如图:2.2在build phases 里面设置脚本, XcodeCoverage/exportenv.sh或者输入if [ “${CONFIGURATION}” ==

2017-08-05 09:23:37 2122

原创 ios-runtime(swift)使用,修改pageControl的小圆点

1,先看需求将一图中的pageControl的圆形小点,改成二图的样子 2, 在pageControl里面没有找到有关修改图片的属性,那么现在怎么解决这个问题呢,一般就是自己定制一个pageControl(比较麻烦的);另外就是,利用运行时+kvc来修改他的属性,直接上代码://MARK:- runtime// 修改pageControl的小点样式extension ViewControl

2017-05-17 14:37:06 1187

原创 swift-类型转换(as?和as!)

// 1, as? as! 的用法 -> 将any类型装换成具体的类型let dic : [String : Any] = ["name" : "zhang", "age" : 13]// 2.1 通过as? 转成我们需要的类型// as?, 通过as? 转成的类型是一个可选类型,系统会自动判断tName是否会转成String类型,如果可以转成,那么获取字符串;如果转不成,就会得到nillet

2017-05-09 14:52:08 249

原创 swift-字符串的截取

// 1, 字符串的截取let url = "www:xiaoyu.com"// 1.1 方式一:将string类型转成nsstring as NSStringlet header = (url as NSString).substring(to: 3)let range = NSMakeRange(4, 8)let middle = (url as NSString).substri

2017-05-09 10:49:49 268

原创 ios-swift-导入Alamofire出坑

前言:在最近的swift项目中要用到网络请求,就用到了Alamofire网络库(是AFNetworking库的swift版本)。将Alamofire利用Cocoapods导入到项目里面,总是下载不了新的版本,下载不了新的版本就是报错,我用的xcode是最新版本8.3.2,swift框架是swift3.0最新框架。我就开始上网查呀,结果废了好大劲才解决。问题所在:根本原因是cocoapods的版本太

2017-04-27 12:14:18 1208

原创 解决-cocoapods冲突总结

1,在运行 pod install 时出现 pod[!] Unable to add a source with url https://github.com/CocoaPods/Specs.git named master.You can try adding it manually in ~/.cocoapods/repos or via pod repo add.解决办法:1> cd /use

2017-04-26 19:25:40 466

转载 ios 类别和类扩展

一自定义分类打印字典转模型的属性声明核心思想与KVC赋值的区别二两种字典转模型的代码KVC方式字典转模型runtime字典转模型具体使用 本文分为两部分: 一:教你怎样一部获取成员属性(通过NSObject+autoLogProperty分类) 二:对比KVC和runtime两种字典转模型的方法并抽取一个分类一:自定义分类,打印字典转模型的属性声明+ (void)crea

2017-04-26 19:16:46 338

原创 xcode更新到8后出现黑底白苹果

自从将xcode升到8.3后就没用过模拟器,但是最近要看适配,又没那么多的机型,所以打开模拟器等了半天进度条快到头时不动了,查了好多资料结果是:将下载好的xcode要放到应用程序里面,结果我看到我的的确是没放到里面,立马拖进去,然后把之前的低版本给删除了,重启xcode就好使了!

2017-04-13 11:12:31 667

原创 ios 缩放动画

- (void)hiddenAction{ // 表示view的原来尺寸 self.layer.transform = CATransform3DMakeScale(1, 1, 1); [UIView animateWithDuration:0.5 animations:^{ // 按照比例scalex=0.001,y=0.001进行缩小 se

2017-04-13 11:07:14 4621

原创 ios 利用auto layout 快速约束xib和storyboardUI界面

1,首先创建工程,美术按照实际的比例出图(最好是2倍和3倍都出),不然会像素失真;2,如图所示约束的对象3,分析:需要约束的对象有,背景、猫头鹰(树一块的)、选择登录方式、登录方式按钮、隐私条款(1),背景:将图片背景导入,选中图片,然后点击右下角的倒数第二个按钮,添加四周约束都为0即可(如图所示)(2),猫头鹰:(这张图片是按照屏幕的宽切出来的),所以宽度就是屏幕的宽,高度也就跟着屏幕的宽度按比例

2017-04-11 13:11:44 907

原创 ios ipad里面调用系统相册图片不完整解决方法

项目里面用到了系统相册,在手机里面取出来是完整的,但是在pad里面取出来就是不完整,只是取到左上角的一部分,开始查资料,最后的解决办法是,在调UIImagePickerController这个类时将这个控制器横屏,就可以取到完整的图片了;我是在类别里面做的1,创建UIImagePickerController的类扩展file:你自己的类别名file tyoe:创建类的方式(我们用到是类别 categ

2017-04-07 18:18:29 4058

转载 ios 强制横屏大总结

整个项目是竖屏的,不能横屏,但是有个播放界面必须要横屏于是就开始找各种横屏的方法,最后在手机上好使了,但是在pad上横屏启动的时候界面是横屏显示,很是苦恼,就又开始了漫长的找资料,直接上代码1,配置plist文件和deployemnt Info -> device orientation(1),plist文件,如图所示,第一项是建立项目时默认有的表示支持手机的屏幕方向(我把支持向右和向左的删了),第

2017-04-01 12:12:04 16330

原创 ios10.0以后应用内跳wifi设置界面的坑

直接上代码如果是ios10以下的版本吗,需要在plist文件里面配置NSURL *url = [NSURL URLWithString:@"App-Prefs:root=WIFI"]; float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >

2017-03-30 15:42:43 930

原创 ipad和iPhone在使用UIAlertController的时候出现的错误

如果只是手机使用,按照正常的操作就可以了,但是今天在pad上试了一把,结果奔溃了,为啥呢,打印结果大概意思就是,弹出来的那个框需要挂靠在某个视图上,直接上代码吧这是一段选择头像的提示框:// 编辑头像- (void)editHeader:(UIButton *)btn{ UIAlertController *alert = [UIAlertController alertController

2017-03-29 17:12:06 3703 3

转载 iOS 中利用strong,copy,assign,weak修饰变量的异同点

ARC中以下内容摘自博客http://blog.csdn.net/liushuo19920327/article/details/51465318在iOS开发中定义@property属性时,经常用到assign、weak、strong、copy等关键字。我们经常会考虑在何时应该使用哪个关键字,尤其是在面试的时候,经常会被问到这些关键字之间的区别,下面详细和大家探讨一下:assign:用于对基本数据类

2017-03-27 23:48:10 2963

原创 ios 自定制弹框

自定制类似于alertView的弹框,可以根据这个方法自定制自己想要的弹框关键点是要取到controller所在window的keyWindow, [[UIApplication sharedApplication].keyWindow addSubview:self];调用,在需要的地方导入头文件 #import “WindowAlert.h”WindowAlert *alert = [Windo

2017-03-27 19:30:34 243

原创 ios 头像上传前的头像处理

一,图片的压缩,按照比例压缩+ (UIImage*)OriginImage:(UIImage *)image scaleToSize:(CGSize)size{ // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了(非常重要,否则就会失真) UIGraphicsBeginImageContext

2017-03-24 18:36:27 478

原创 ios 如何设置启动图片LaunchImage

一,建立新的工程二,在项目目录->targets->general里找到app icons and launch images这一项,如图:(注意launch screen file 表示启动图片资源,这里要清空,咋们不使用lanunchScreen.storyboard加载启动图片)第一步操作完事,会在顶部弹出这么一个框,点击migrate就可以了。(提示的大概意思就是:迁移启动图片到一个资源目录

2017-03-24 15:24:33 1107

原创 多线程GCD之dispatch_semaphore_t

/* * 线程并发操作,意思就是说你开辟的这个线程里面最大允许的并行队列数是多少,那么实际超出的的部分队列就必须等待。 * dispatch_semaphore_create(para):创建一个信号量,参数是并发的初始值 * dispatch_semaphore_signal:发送一个信号量,表示我即将离开这个队列,通知等待着你可以准备进入 * dispatch_semaphore_wai

2017-03-24 13:12:17 457

原创 多线程GCD之图片异步加载主队列刷新UI

再来说说GCD里面的异步加载,直接上代码,亲测/* 常见的图片加载+UI刷新 * 1,dispatch_async 异步队列 * 开启一个新的线程来执行耗时操作,但是同时又不会阻塞线程,因为任务创建后可以在不完成的情况下直接跳过block块去做下一项任务,等里面的任务完成后又会回到block块里面继续执行 * 比如,实现图片的加载是比较耗时的,所以必须要在异步线程里面执行 * 加载完事后需要

2017-03-23 14:37:41 2406

原创 ios 关于GCD多线程使用

一,线程、任务、队列,异步执行、同步执行、并行队列、串行队列都是什么鬼?1,线程、任务、队列线程:程序执行任务的最小调度单位 任务:简单讲就是gcd里面block块里面执行的内容 队列:用来存放任务的一个数组2,异步执行、同步执行、并行队列、串行队列异步执行:具备开辟一个新线程的能力,任务创建后可以先绕过,回头在执行 同步执行:不具备开辟新线程的能力,只有任务执行完后才能离开 并行队列:多个

2017-03-23 00:54:16 270

原创 ios 苹果内购踩过的坑

在前面的博客里面已经做了内购代码的说明,现在说说具体的内购流程1,移动端将产品列表(可以存在本地,也可以从自己的服务器取)添加到appstore 2,appstore会返回一个产品信息列表 (这中间的时间可能比较长) 3,我们选中的产品和返回的列表数据比对,有相同的就添加到购买对列里面开始购买 4,购买成功后返回一个购买票据,拿着这个票据去请求appstore验证其正确性,同时也拿着这个票据请

2017-03-17 17:42:30 2246

原创 iOS 苹果内购 In-App Purchase 踩过的坑

项目里面要接苹果支付,结果我研究了一个小时的apple pay,结果经理说是苹果内购,当时就感觉被耍了!好了,那就说说In-App Purchase这个吧,前面所有的准备工作经理做完了,我只是码代码,结果购买的回调都执行,就是界面啥反应都没有,不知道是前期的工作没做好,还是我的代码有问题?上代码:第一步,导入头文件签协议// 在需要购买的界面里面导入,前提是你要将StoreKit框架添加到你的工程里

2017-03-14 17:03:30 8249 2

原创 iOS 刷新UI控件的问题

项目里面遇到需要刷新Ui的问题,以前是直接重新加载整个控件在viewWillAppera的方法里面,今天突然想到以前在属性tableView时开辟了一个线程刷新Ui// 利用blok回传状态loginCon.backBlock = ^(BOOL isVip){ // 刷新ui控件 必须在主线程进行 // 表示在deleay时间后执行selector里面的方法

2017-03-13 12:04:21 2200

原创 iOS UIView简单的缩放动画效果

// 创建一个背景self.bgView = [UIView new]; [self addSubview:self.bgView]; [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.bounds.origin.x);

2017-03-09 12:29:24 2798

原创 iOS 自定制弹框

调用自定义弹框CustomGeneralAlert *alert = [CustomGeneralAlert alertWithBgimage:@"alert_NoNetWork" Icon1:@"alert_cancle" icon2:@"alert_ture" Cancle:^{ // 点击取消设置 } continueBlock:^{

2017-03-06 19:29:16 401

原创 iOS NSMutableAttributedString字符串属性

比如,设置一个价格标签为(下图)的样式,其中就包括一个字符串里面设置价格为红色为,原价上面添加中划线,具体封装如下调用方法,需要说明的是,这里的中划线是做了一个label放上去的,NSMutableAttributedString设置好像只能将字体的颜色和线的颜色设置为一样的,所以无法满足需求。nowLabel.text = self.vipSource[0][i];nowLabel.font =

2017-03-03 14:37:54 675

原创 iOS 导航和tableView/collectionView影响界面

问题:以前一直就存在一个问题,当tableView布局在navigationController里面时,有时会出现界面整体上移的现象,最近又出现了,网上查了下,原来是automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整了tableView、collectionView、scrollvi

2017-03-01 14:28:26 297

原创 iOS 导航和tableView/collectionView影响界面

问题:以前一直就存在一个问题,当tableView布局在navigationController里面时,有时会出现界面整体上移的现象,最近又出现了,网上查了下,原来是automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整了tableView、collectionView、scrollvi

2017-03-01 14:27:45 337

原创 iOS tableView上刷新显示下载进度的问题

一,点击下载按钮后,调用的时afnetworking的downLoad方法,具体代码如下@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>{ XLCircleProgress *_circle; CGFloat _progress;}@property (strong,nonatomic)

2017-03-01 10:47:49 2438

原创 css之盒子模型box-sizing属性

一,box-sizing属性,自适应盒子元素的宽高的<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>52-盒子box-sizing.html</title> <style> .content{ width: 300px;

2017-02-23 12:02:18 370

原创 css之盒子模型

一,盒子模型<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>50-css盒子模型.html</title> <style> /* 利用并集选择器设置标签属性 */ span,a,strong,b{ display: inline-

2017-02-22 14:15:01 521

原创 css之内边距和外边距属性

一,内边距属性<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>47-内边距属性.html</title> <style> div{ width: 98px; height: 90px; border

2017-02-22 12:02:48 3376

原创 css边框属性

边框属性<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>44-边框属性上.html</title> <style> .box1{ width:100px; height: 100px; backgr

2017-02-21 11:44:13 224

原创 css之背景图片和插入图片的区别以及精灵图的使用

一,背景图片和插入图片<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>40-css背景图片和插入图片的区别.html</title> <style> div{ width: 200px; height:200px;

2017-02-21 11:06:31 13290 1

原创 iOS报-[__NSDictionaryI objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x15f762920

代码之前好使的,但是在更新的时候,不知道改了啥,点击播放视频就会报错,废话不多说,现在开始–排查:Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSDictionaryI objectAtIndexedSubscript:]: unrecognized selector sen

2017-02-16 12:15:40 4919

空空如也

空空如也

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