iOS
文章平均质量分 54
鹰击长空KO
千里之行,始于足下。。
展开
-
iOS开发之block的使用
在实际开发中block的使用比较多,我们在使用的时候要注意一些问题。默认情况下,block是存档在栈中,可能被随时回收,需要copy操作,所以我们在定义block的时候用得是copy。在调用block的时候要弱引用。在ARC下, __weakViewController * weakSelf = self;在MRC下 __block ViewController *原创 2016-03-30 20:23:24 · 264 阅读 · 0 评论 -
iOS开发之OC和C混编问题
最近做的项目导入环信平台在编译时报下面的错误Undefined symbols for architecture i386: "_fwrite$UNIX2003", referenced from: _hex_dump_internal in libEaseMobClientSDK.a(dump.o) _pkt_dump_internal in libEase原创 2016-04-05 21:11:26 · 890 阅读 · 0 评论 -
iOS开发之支付宝支付
iOS开发支付宝支付原创 2016-04-05 21:24:55 · 397 阅读 · 0 评论 -
iOS开发之微信支付
在微信支付时要注意以下几点:1.支付金额不能为0,否则获取prepayid失败,无法支付。2.在iOS9之后支付的回调代理要设置在如下方法中,不知道为什么,我这样做之后回调才成功的-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryNSString *,id> *)o原创 2016-04-06 11:34:22 · 401 阅读 · 0 评论 -
问题error: no such file or directory:xxx的处理方法
1.关闭工程,将工程下的.xcodeproj后缀的文件改成后缀为.zip2.打开.zip文件3.找到project.pbxproj这个文件,用文本编译器打开4.找到报错的文件,修改为正确的路径,如果根本不存在这个文件,就直接删除就好了5.保存后,将.zip恢复为.xcodeproj打开运行即可原创 2016-04-12 15:16:09 · 36899 阅读 · 0 评论 -
iOS利用CoreGraphic图片处理
#pragma mark --缩放图片+(UIImage *)scaleImage:(UIImage *)image toWidth:(int)toWidth toHeight:(int)toHeight{ int width=0; int height=0; int x=0; int y=0; if (image.size.width原创 2016-04-08 19:00:36 · 825 阅读 · 0 评论 -
iOS简单动画效果
1、使用UIView类动画//开始动画 [UIView beginAnimations:@"" context:NULL];//动画内容设置 [UIView setAnimationDuration:0.8];//设置动画时长 CGPoint point = _animationView.center; point.y +=100; p原创 2016-04-08 20:12:01 · 251 阅读 · 0 评论 -
iOS开发UICollectionView瀑布流效果
实现前提是要自定义UICollectionViewFlowLayout。直接贴上代码。#import @class CustomLayout;@protocol CustomLayoutDelegate NSObject>//定义代理返回每个item的size-(CGSize)collectionView :(UICollectionView * )collecti原创 2016-04-09 14:19:11 · 395 阅读 · 0 评论 -
iOS开发之delegate设计模式
delegate包括3方:委托方、代理方、协议。协议:一堆方法的声明下面我们定义一个协议首先我们创建一个类继UIView(TouchView)#warning 协议的制定步骤1.定义协议@class TouchView;@protocol TouchViewDelegate NSObject>@optional(可选择的方法不必实现,默认的是必须实现的方原创 2016-03-28 22:16:48 · 317 阅读 · 0 评论 -
Swift与OC混编
1.创建一个swif语言的工程,我从cocoapods中导入第三方OC类库,比如说AFNetWorking,接下来创建一个header文件命名为Header-Bridge.h2.在Build Setting搜索swift这样设置一下桥接文件就可以了,并在这个桥接文件中导入#import "AFNetworking.h"就可以实现在swift中调用OC的类了原创 2016-04-06 12:46:17 · 298 阅读 · 0 评论 -
iOS中webview和js的交互
在iOS中,有时候一些复杂的页面我们要用到webview,就拿新闻页面来说,有文字,图片和视频。我们怎样改变文字的大小和点击图片,播放视频等等。就拿改变文字大小来说明。在我们的本地html文件中,有下面js方法 function showSize(size) { document.getElementsByTagName('article')[0].st原创 2016-04-13 16:45:06 · 378 阅读 · 0 评论 -
真机测试问题
最近在使用真机测试的时候遇到了下面的问题。The ‘Apple Push Notification’ feature is only availabel to users enrolled in Apple Developer Program. Please visit https://developer.apple.com/programs/to enroll.具体的解决办法是把原创 2016-04-29 14:21:56 · 343 阅读 · 0 评论 -
iOS开发发布企业版和内测版应用到蒲公英
iOS开发企业版和内测版应用到蒲公英的发布流程:1.使用企业开发者账号申请app ID2.创建证书,这里如果选择的是内测版就要添加用户的udid,否则用户安装不了应用3.点击继续,选择刚从生成的app ID。4.把证书下载下来双击安装5.在工程里面配置一下bundle ID 和Provisioning Profile6.配置好了之后,进行原创 2016-04-29 14:58:44 · 4533 阅读 · 0 评论 -
iOS9强制横屏
因为rootViewController是navigationController,所以我们不仅仅改变要控制器自身的frame,还要改变navigationController.view.bounds _x =self.navigationController.view.bounds.origin.x; _y =self.navigationController.view.bou原创 2016-05-25 09:47:06 · 2435 阅读 · 0 评论 -
iOS根据接口生成二维码
// 把字符串链接改为data NSString * text =@"http://www.baidu.com/"; NSData *stringData = [textdataUsingEncoding: NSUTF8StringEncoding]; //生成 CIFilter *qrFilter = [CIFilterfil原创 2016-06-29 16:46:35 · 290 阅读 · 0 评论 -
iOS集成可手势签名的视图
1.h文件设置可供外界调用的方法#import @interface MyView : UIView@property(copy,nonatomic)NSString *tagStr;// get point in view-(void)addPA:(CGPoint)nPoint;-(void)addLA;-(void)revocation;-(void)原创 2016-06-29 16:58:06 · 534 阅读 · 0 评论 -
iOS指纹解锁
首先导入#import //指纹验证- (void)authenticateUser{ //初始化上下文对象 LAContext* context = [[LAContext alloc] init]; //错误对象 NSError* error = nil; NSString* result = @"Authentication is原创 2016-11-29 15:13:39 · 322 阅读 · 0 评论 -
iOS开发之获取一段字符串中的中文字和中文字符
#pragma mark -获取一段字符串中的中文字+ (NSArray *)getAStringOfChineseWord:(NSString *)string{ if (string ==nil || [string isEqual:@""]) { returnnil; } NSMutableArray *arr = [原创 2016-04-05 21:07:52 · 3633 阅读 · 0 评论 -
iOS开发之判断手机号和邮箱的合法性
#pragma mark --判断手机号合法性+ (BOOL)checkPhone:(NSString *)phoneNumber{ NSString *regex =@"^((13[0-9])|(147)|(15[^4,\\D])|(18[0-9])|(17[0-9]))\\d{8}$"; NSPredicate *pred = [NSPredicatepre原创 2016-04-05 21:00:14 · 390 阅读 · 0 评论 -
设置UITabBarController的图片问题
在以前开发的项目中,遇到过UITabBarController图片变大的问题解决办法是把图片名称加后缀@2x。这样设置以后可能出现图片不居中的问题,可以这样设置 MainPageViewController *oneVC = [[MainPageViewControlleralloc]init]; CGFloat offset =5.0; oneVC.t原创 2016-04-05 20:48:54 · 306 阅读 · 0 评论 -
iOS开发之tableViewCell高度自适应
设置model类Student-(void)configureCellForModel:(Student*)stu{ self.nameLabel.text= stu.name; self.phoneNumberlabel.text= stu.phoneNumber; self.hobbyLabel.text= stu.hobby;原创 2016-03-30 20:52:53 · 372 阅读 · 0 评论 -
iOS开发之plist文件的获取
有上图plist文件,可以把以上字典转换为一个model类Cinema,接下来就是获取这个plist文件-(void)getData{ NSString* filePath = [[NSBundlemainBundle]pathForResource:@"cinemalist.plist"ofType:nil];//也可以这样写 NSString* filePa原创 2016-03-30 20:56:36 · 362 阅读 · 0 评论 -
iOS开发之UITabBarController的创建和使用
UITabBarController是一个容器控制器,继承于UIViewController,一般情况下作为window的根视图控制器UITabBarController自带一个UITabBar首先创建一个UItabBarController UITabBarController* barTC =[[UITabBarControlleralloc]init];作为w原创 2016-03-30 21:01:29 · 409 阅读 · 0 评论 -
iOS开发之XML解析
有如上XML文件 /** * XML解析 分为两种方式:SAX解析和DOM解析。 SAX解析:逐行进行解析数据 优点:1.逐行解析,不会一次性读入文档,减少内存消耗。 2. 因为是逐行解析,XML文件损坏对其没有影响。 缺点:没办法获取文件的层级关系,对程序员而言获取数据比较麻烦。 */////原创 2016-03-30 21:13:13 · 244 阅读 · 0 评论 -
iOS开发之网络请求
GET请求: 是将信息拼接到URL后面。在真正开发中使用较多。//// 1.第一步获取请求的网址// NSURL * url = [NSURL URLWithString:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=2原创 2016-03-30 21:29:29 · 355 阅读 · 0 评论 -
iOS开发之网络连接方式
连接方式有两种:同步和异步。 同步连接:1. 使用sendSynchronousRequest:requestreturningResponse:&response error:&error方法。2.同步连接会出现出现卡死的现象,用户交互不好,影响用户体验。宏定义一个网址#define kURL@"http://ipad-bjwb.bjd.com.cn/DigitalPubl原创 2016-03-30 21:34:08 · 417 阅读 · 0 评论 -
iOS开发之KVO机制
定义Person类,设置属性name。并定义一个Teacher类,设置属性name,在Person设置teacher为属性.#import#import "Teacher.h"@interface Person : NSObject@property(nonatomic,copy)NSString * name;@property(nonatomi原创 2016-03-30 21:38:56 · 268 阅读 · 0 评论 -
iOS开发之json解析
- (void)parseDataWithFileName:(NSString *)fileNamefileType:(NSString *)fileType{ // 1.获取文件路径 NSString*filePath = [[NSBundle mainBundle]pathForResource:fileNameofType:fileType]; /原创 2016-03-30 21:27:09 · 234 阅读 · 0 评论 -
iOS开发之多线程
iOS中多线程的实现方式有NSThread、NSOperation和GCD(全称:Grand Central Dispatch)。1.NSThread:优点:NSThread 比其他两个轻量级缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销有两种初始化方式第一种先创建线程对象,然后再运行线程操作,在运行线程操作前可以设置线程的优先级等线原创 2016-03-31 18:32:21 · 294 阅读 · 0 评论 -
iOS开发之数据库Sqlite
先创建一个工程,导入libsqlite3.dylib库。因为在对数据进行操作的时候,需要打开数据库和关闭数据库,所以单独抽离出一个类DataBase要用于打开和关闭数据库。#import #import // 因为在对数据进行操作的时候,需要打开数据库和关闭数据库,所以单独抽离出一个类要用于打开和关闭数据库。@interface DataBase : NSObject原创 2016-04-04 16:57:41 · 305 阅读 · 0 评论 -
iOS开发之瀑布流
所谓瀑布流即是自定义CollectionView的layout,继承UICollectionViewFlowLayout创建一个类CustomLayout#import //定义一个代理给返回给外界每个item的size@class CustomLayout;@protocol CustomLayoutDelegate NSObject>-(CGSize)col原创 2016-04-04 17:13:41 · 370 阅读 · 0 评论 -
iOS开发之通过cocoapods导入第三方类库
在我们从终端安装了cocoapods之后,接下来学习从cocoapods上导入第三方类库。一、比如说我们要导入AFNetWorking,首先打开终端输入命令1. pod search afnetworking会出现下图所示的一些第三方类库二、选择我们要导入的3.0.4版本2. pod 'AFNetworking', '~> 3.0.4'把这些命令复制一原创 2016-04-04 17:21:29 · 385 阅读 · 0 评论 -
iOS开发之沙盒介绍和使用
//沙盒是一个文件夹,每一个应用程序安装完成的时候,系统会自动生成一个沙盒文件夹,来存放当前应用程序的所需要的持久数据。// 苹果对沙盒做了一个安全操作。当前应用程序不能访问当前沙盒以外的其他文件夹。// iOS8.0之后的沙盒路径下,包含了三部分内容,iOS8.0之前的还包含了.app文件,也就是我们所谓的程序包 /** * 1、Documents原创 2016-03-30 21:45:08 · 247 阅读 · 0 评论 -
git的常用命令,先保存下来
git的常用命令。。git help 显示command的helpgit show 显示某次提交的内容 git show $idgit co -- 抛弃工作区修改git co . 抛弃工作区修改git add 将工作文件修改提交到本地暂存区git add . 将所有修改过的工作文件提交暂存区git rm 从版本库中删除文件git rm --c原创 2016-04-04 19:55:48 · 437 阅读 · 0 评论 -
iOS开发之设置UINavigationBar的主题
设置标题颜色 [[UINavigationBarappearance] setTitleTextAttributes:[NSDictionarydictionaryWithObject:[UIColorwhiteColor] forKey:NSForegroundColorAttributeName]];//导航条颜色 [[UINavigationBarapp原创 2016-04-05 20:46:11 · 297 阅读 · 0 评论 -
iOS代码模拟Home+power键实现截屏
导入 #import 快门声ID如下:static SystemSoundID shake_sound_male_id =1108;使用如下方法播放系统声音的IDAudioServicesPlaySystemSound(shake_sound_male_id);具体ID连接如下原创 2016-11-22 12:05:28 · 1915 阅读 · 0 评论