自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(26)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 ERROR ITMS-90168: "The binary you uploaded was invalid."解决方法汇总

方法1: 确保目前使用的XCode是最新的,使用XCode上传或者XCode自带的Application Loader上传方法2: 查看自己的项目中是否有info.plist文件,如果有则把info改为Info或者其它名称.方法3: 检查自己项目中的.bundle是否正确方法4: 使用终端命令执行如下cd ~/.itmstransporterrm update_check*

2017-09-18 14:10:06 844

原创 swift3.0字符串截取,字符串处理

1.截取前面三个字符串,要求输出结果为abclet str ="abcdefghi"let index = str.index(str.startIndex, offsetBy:3)//获取字符d的索引let result = str.substring(to: index)//从起始截取到索引的所有字符串,即abc,注意不包含d打印结果为 abc

2017-07-30 14:55:16 14061 1

原创 swift3.0无符号右移(类似Java的>>>)

以32位为例,参数:value为十进制数,bit为右移的位数,返回结果是一个32位的整数private func relizeRight(value:Int32, bit: Int32) ->Int32 {                //将十进制转为二进制        var caculate =String.init(value, radix:2)

2017-07-12 17:14:05 861

原创 swift3.0请求https封装工具类(get请求和post请求)

1.首先工具类内部需要遵守URLSessionDataDelegate代理2.实现代理方法代码如下:  func urlSession(_ session:URLSession, didReceive challenge:URLAuthenticationChallenge, completionHandler:@escaping (URLSession.Aut

2016-12-12 21:57:47 2376

原创 iOS多个UILabel添加同一个单击手势,如何确定用户点击的是哪个UILabel (swift3.0)

overridefunc viewDidLoad() {        super.viewDidLoad()                for iin 1...10 {                        //设置UILabel的属性            let label = UILabel()         

2016-10-25 20:19:16 4594 2

原创 swift3.0冒泡排序

1.因为swift3.0的for循环已经抹去了c语言的风格,所以进行冒泡排序如下var array: [Int] = [2,5,3,1,4,8,10,7,6,9]                for iin 0..count {                        for jin 0..count - (i+1) {    

2016-10-21 09:56:36 2555

原创 swift3.0遍历数组拿到下标和元素以及反向遍历

1.要遍历数组同时拿到下标值和元素,可通过元祖进行遍历1.1 定义数组一个字符串数组如下let array: [String] = ["a","b","c","d"]1.2 利用元祖进行遍历 for (index,value)in array.enumerated() {                        print(inde

2016-10-19 20:58:37 18602

原创 swift3.0归档和解档

1.对用户的模型数据(自定义类:HCUserModel)进行归档和解档1.1 需要遵循NSCoding协议1.2 需要实现func encode(with aCoder: NSCoder){}归档方法1.3需要实现 required init(coder aDecoder: NSCoder){}解档方法1.4 重写init方法2.HCUserModel的数据内容如下:

2016-10-12 23:19:44 5083

原创 swift3.0 URLSession网络请求工具类封装(get请求,post请求)

//类名: HCTool//单例 static let share = HCTool()// MARK:- get请求    func getWithPath(path:String,paras: DictionaryString,Any>?,success:@escaping ((_ result:Any) -> ()),fai

2016-09-18 21:10:55 7979

原创 swift3.0把#ffffff或者ffffff格式转为UIColor的方法

extension UIColor {        // MARK:- 把#ffffff颜色转为UIColor   class func colorWithHexString(hex:String) ->UIColor {                var cString = hex.trimmingCharacters(in:Charac

2016-08-17 14:45:42 1248

原创 Xcode beta3到beta4的变化

1: 去掉了部分属性后缀括号,比如颜色等UIColor.red() -> UIColor.redUIScreen.main().bounds -> UIScreen.main.bounds 2. AttributedString属性没有了,然后很无奈的只能永辉NSAttributedString,说好的不用NS前缀的呢......

2016-08-10 09:32:44 340

原创 swift集成环信3.0官方教程

swift3.0集成:http://www.imgeek.org/article/825307896?utm_source=qq_630

2016-08-01 17:56:22 2893

原创 swift实现删除图片时的抖动动画

let myAnimation:CAKeyframeAnimation =CAKeyframeAnimation.init() //创建动画                myAnimation.removedOnCompletion =false //设置这个属性为false,当应用退到后台再进来的时候保证动画还存在                let left:

2016-07-18 14:38:23 811

原创 swift利用Alamofire上传图片

后台的接口数据如下:接口名称 上传头像接口地址 /data/upload传入参数 MultipartFile file, String phoneId, Integer phoneType传出结果 //0 ok, 1 空文件, 2 文件写失败分析: 接口需要传三个参数,file为图片的二进制文件,String类型的phoneId,Integer类型的phon

2016-07-12 23:11:50 9085

原创 swift数组与字符串互相转换

字符串转为数组:                let str = "xiaoming,xiaohong,xiaoluo"                let strArray = str.componentsSeparatedByString(",")数组转为字符串:       let strArray = ["xiaoming","xiaohong","xiaolu

2016-07-12 14:28:27 14153 1

原创 Swift关于NSURL(string:)方法抛出空值错误的问题及解决方案

问题如下图所示:当执行到630行的时候抛出空值异常,后来发现是路径path中带有中文参数的原因.因此需要允许字符串中带有特殊字符(中文).正确写法如下:需要用到NSCharacterSet.init(charactersInString: String)的方法,允许字符串带有特殊字符,然后利用 path.stringByAddingPercentEn

2016-06-29 21:16:53 1980

原创 利用KVO监听属性值的变化

如一个person类有一个name的属性,我们利用KVO来监听name的值的变化.首先我们在控制器中绑定一个监听器,(注意监听器在类的作用域的最后要移除掉)在viewDidLoad里的代码如下:- (void)viewDidLoad {    [superviewDidLoad];     Person *p = [[Personalloc] init];

2016-02-13 23:26:36 1030

原创 IOS截屏一个UIView,以png或者jpg格式保存到指定目录下

/** *  把一个UIView生成PNG或者JPG格式的图片,保存在指定路径 * *  @param path   图片要保存到的路径 *  @param type   图片的格式png或者jpg *  @param UIView 要转成图片的UIView */- (void)clipScreenWithPath:(NSString *)pat

2016-01-28 14:55:09 2938

原创 IOS给图片添加文字水印

0.加载图片UIImage *image = [UIImage imageNamed:@""];1.开启一个和图片相同大小的上下文参数1是上下文的大小;参数2NO是透明,YES是不透明;[UIGraphicsBeginImageContextWithOptions(image.size,NO,0);2.把图片绘制到上下文当中[

2016-01-22 20:25:07 1035

原创 IOS级联(省份和城市)

IOS省份和城市的级联1.资料准备一个plist文件,plist文件的根目录是一个省份的字段name和一个存放城市名称的数组,如下图所示界面的效果如下:一个label和一个TextField即可 2.创建一个模型类ProvinceModel模型类的声明代码如下//声明一个name保存省份的名称@property (nonatom

2016-01-16 17:19:39 3715 1

原创 Xcode生命周期简介

1.Xcode程序文件的区别Xcode5有frameworks文件夹,用于存放导入的框架(需要手动导入);而Xcode6没有frameworks文件夹,看不到导入的框架,用LaunchScreen.xib来设置启动界⾯面;Xcode7也看不到导入的框架,用LaunchScreen.storyBoard设置启动界面.Xcode7如果没有设置启动图片,模拟器默认的尺寸⼤小是4s的尺寸⼤小.(可

2016-01-16 15:31:33 844

原创 第三方控件Masonry和IOS代码实现Autolayout的比较

1.自动布局的核心公式obj1.property1 =(obj2.property2 * multiplier)+ constant value可以理解成控件A的Width等于控件B的Width乘以一个固定的倍数C然后加上一个固定的值D.也可以理解成控件A的Height等于控件B的Height乘以一个固定的倍数C然后加上一个固定的值D.通过IOS代码实现autolayout两个Vi

2016-01-06 16:13:56 579

原创 IOS九宫格设计(含字典转模型,自定义控件)

1.创建九宫格的步骤列表1.创建九宫格最开始要知道商品的宽和高,以及商品之间行的间距和列的间距,利用这四个数据就能会商品进行排序,主要代码如下 //定义列数和行数 NSUInteger col =3; NSUInteger line = 2; //定义商品的宽和高 NSUInteger shopWidth = 70; NSUInteger s

2015-12-29 22:27:34 888

原创 IOS九宫格设计源码(外加添加删除功能)

设计思路1.先动态添加一个UIView用于存放所有的格子(每一个格子用UIImageView代替)2.动态生成格子,每一个格子都有不同的frame,设置每一个格子的frame是做九宫格的关键3.我们可以总结的规律是每一行Y值不变,X值:(间距+宽度) * (个数 % 3)3.1.每一列的规律是Y值(间距 + 高度) (个数/3),X值:(间距+宽度) (个数 % 3

2015-12-27 16:56:59 991

原创 简易播放器的制作

简易播放器的制作准备材料1.准备3首歌曲2.准备3张图片,一张背景图做毛玻璃特效,一张头像,一张显示歌手名字的图片.3.准备4个按钮图片,分别是播放按钮,暂停按钮,上一首按钮,下一首按钮.主要思路1.导入框架2.定义一个AVPlayer类型的全局变量3.程序运行的时候给背景图设置毛玻璃特效.4.创建一个播放器方法,让全局变量A

2015-12-26 20:14:03 607

原创 IOS动态创建控件通过tag处理单击事件

1.在开发中,我们很多时候需要动态创建控件.在创建控件的时候给控件设置一个tag值,利用这个tag值来操作控件.2.创建控件一般要设置控件的大小和位置,这两个属性是最重要的.最后利用addSubview:方法将控件添加到指定的容器即可.3.通过tag获取控件然后操作控件的属性等,我们可以遍历父控件,通过tag找到指定的控件.4.给按钮添加单击事件要利用addTarget:(

2015-12-25 21:37:12 1308

swift3.0请求https工具类

swift3.0请求https工具类封装

2016-12-12

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

TA关注的人

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