自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 iOS: 热门搜索标签界面(Swift3)

首先创建一个SearchView类,这个类分为上面的标题文字和下面的按钮.按钮的数量是不确定的,在将按钮添加到SearchView之前先记录下这个按钮的maxX加上横向间距的值和y值,在布局下一个按钮的时候先判断这一行余下的距离是否大于这个按钮的宽度,也就是SearchView视图的宽度减去上一个按钮的maxX加上横向间距的值是否大于这个按钮的宽度.如果大于就是说剩下的距离可以放下这个按钮,那么这个

2017-06-02 15:13:36 2237 4

原创 iOS:UICollectionView实现无限轮播图(Swift3)

效果图原理:给collectionView设置多组一样的数据,默认展示中间的那一组.当滚动到上一组或者下一组的时候采用无动画的方式滚动到最中间的那一组.这样就实现了视图的无限轮播.class MCCycleView: UIView, UICollectionViewDelegate, UICollectionViewDataSource { private var collectionView

2017-04-05 17:44:41 2368 1

原创 iOS:圆形头像和菱形头像的实现

1.圆形头像为UIImage添加一个分类UIImage+Clip.#import "UIImage+Clip.h"@implementation UIImage (Clip)//第一个参数是图片名称 第二个参数是边框宽度+ (instancetype)clipImageWithImageName:(NSString *)name border:(CGFloat)border { UIIma

2017-03-09 18:19:53 1653

原创 iOS:runtime的使用(动态添加方法、关联方法、交换方法、遍历私有属性)

1.动态添加方法2.关联方法3.交换方法4.遍历私有属性

2017-02-17 23:54:19 1036

原创 iOS:二维码扫描

二维码(QRCode)的本质其实就是一个字符串,我们的最终目的就是将二维码图片转换成字符串.首先导入AVFoundation框架#import <AVFoundation/AVFoundation.h>实例化有关二维码扫描的四个对象@interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate>//输入设备 也就是摄像头@p

2017-02-17 22:31:50 865

原创 iOS:自定义下拉刷新视图和下拉刷新原理

首先自定义一个UIRefreshControl名字叫做NewRefreshControl,在UITableViewController中将它的refreshControl设置成自定义的refreshControl,并且为refreshControl添加监听事件.- (void)viewDidLoad { [super viewDidLoad]; self.refreshControl

2017-02-14 14:23:43 809

原创 iOS: Block使用指南

1.block的声明返回值类型(^block的名字)(参数类型);无参无返回值的block void(^block1)();有参无返回值的block void(^block2)(int);无参有返回值的block int(^block3)();有参有返回值的block int(^block4)(int, int);记不住block的语法怎么办?直接敲inlin

2017-02-13 23:16:46 386

原创 iOS:Swift桥接OC代码

正常情况下在Swift工程中是不能使用OC的代码的.但是我们可以使用桥接来实现.首先在根目录中创建一个名为Bridge.h的Header File.接下来在工程的Build Settings中找到Objective-C Bridging Header并将他的值设置成 工程名/Header File文件名.比如说我的工程名字叫桥接,刚刚创建的Header File叫Bridge.h,

2016-12-19 21:30:30 592

原创 iOS:Swift自定义print

与OC中的自定义NSLog相似,先创建一个Swift File将以下代码复制到新创建的文件中func printLog(message: T, logError: Bool = false, file: String = #file, method: String = #function,

2016-12-02 16:17:38 1228

原创 iOS:XML文件的解析(SAX解析)

XML解析分为DOM解析和SAX解析,DOM解析非常的耗费性能,所以移动设备一般用SAX解析.它是从上向下解析的.下面是我们要解析的XML文件样式.先创建一个模型,名字就叫MCVideo,我们的最终目的就是将XML文件解析成模型数组.#import @interface MCVideo : NSObject@property(nonatomic,copy)NSString

2016-10-30 16:44:14 450

原创 iOS:电话分享、短信分享和邮件分享

在很多App里面我们都会看到分享给朋友的选项,一般是电话分享、短信分享和邮件分享.电话分享:第一反应肯定是调用Application的openURL:方法,但是这种方法是有问题的.并且这个方法在iOS10里面也已经过期了,改用openURL: options: completionHandler方法. NSURL *url = [NSURL URLWithString:@"t

2016-10-23 13:56:19 5030

原创 iOS中的几种数据存储方式(plist存储、偏好设置存储、归档存储)

1.plist存储plist存储可以存储系统自带的对象比如NSAaary、NSDictionary等,一般可以写出writeToFile:这个方法的对象都可以使用plist存储.一般写入到Document文件夹.plist存储的写入: NSArray *arr = @[@"Chinese",@"Japan",@"Ausrtalia"]; //获取Document文

2016-10-20 09:57:52 2799

原创 iOS:PCH文件的使用

PCH文件全称Precompile Header File.也就是预编译头文件的意思.PCH主要有三个作用:1.放一些公用的宏定义.(一个宏可能在多个控制器都会用到,正常需要在每个控制器都写一次,但是将宏定义写在PCH文件中只需要写一次就可以了)2.把公共的model类#import导入写到PCH文件中.(一个model可能在多个控制器都会需要导入它的头文件,将#import写在P

2016-10-08 13:54:38 527

原创 iOS:省市联动的实现以及BUG的解决

省市联动的崩溃原因以及解决方法.

2016-09-23 14:06:37 1380

原创 iOS:AlerView、ActionSheet和AlertController的简单使用

AlertView的使用:AlerView的样式://alertView代理方法 监听确定按钮的点击- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if (buttonIndex == 1) { MCHeroModel *model =

2016-09-03 22:29:08 6560

原创 iOS:九宫格算法

九宫格算法的目的就是实现下图所示的布局效果找规律:0号控件的x = 横向间距 + 0 * (控件宽度 + 横向间距)1号控件的x = 横向间距 + 1 * (控件宽度 + 横向间距)2号控件的x = 横向间距 + 2 * (控件宽度 + 横向间距)规律:n号控件的x = 横向间距 + 列数 * (控件宽度 + 横向间距)0号控件的y = 纵向间距

2016-08-28 20:33:55 1021

原创 iOS:git的使用之Xcode

先在git.oschina.net网站上创建一个远程仓库然后来到终端使用cd命令进入到一个空的文件夹使用 git clone 远程仓库地址 命令从远程仓库拷贝在拷贝下来的文件里创建一个Xcode工程,这个时候就可以开始写代码了点击Xcode工具栏中的Source Control栏可以看见源码控制的各种选项点击commit可以将代码推送到本地仓库,之后点击push

2016-08-22 15:28:23 1330

原创 iOS:git终端命令的简单使用

git是一种分布式代码管理工具.再说git的使用之前需要先讲一下git的结构除了远程仓库以外,每一个开发者本机都有一个本地的仓库,当提交代码的时候需要先将代码提交到本地的仓库,然后再提交到远程仓库.准备工作:在使用git的时候会生成一个.git的不可见文件,需要在控制台中输入defaults write com.apple.finder AppleShowAllFiles -boo

2016-08-21 12:47:00 2324

原创 iOS:KVO的简单使用及其本质

KVO全称Key-Value Observer. 是观察者设计模式的一种实际应用.KVO的操作对象是对象.简单使用:现在创建一个Person类,Person类中有一个age属性,当点击按钮的时候改变age属性的值#import "ViewController.h"#import "Person.h"@interface ViewController ()@prope

2016-08-19 12:39:53 398

原创 iOS中使用int类型会出现的问题和解决办法

首先我们创建一个Person类,里面写name和age两个属性,age先用int来修饰.#import @interface Person : NSObject@property(nonatomic,copy)NSString *name;@property(nonatomic,assign)int age;@end然后在控制器中创建一个Person对象,再用KVC对nam

2016-03-25 15:48:23 4306

原创 iOS中JPG PNG GIF格式图片的区分

很多时候我们从网络上下载或者本地的图片有很多格式,那么我们如何在程序中对这些格式的图片进行分类处理呢?在Xcode中选中图片 点击右键选择Open As Hex (Hex是十六进制的意思)JPG格式开头为FF  PNG格式开头为89  GIF格式开头为47JPG格式PNG格式GIF格式SDWebImage中是这么处理的

2016-03-25 10:46:32 1482

空空如也

空空如也

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

TA关注的人

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