- 博客(59)
- 收藏
- 关注
转载 iOS 离屏渲染的研究
GPU渲染机制:CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。GPU屏幕渲染有以下两种方式:On-Screen Rendering意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Rend
2016-08-30 18:12:15
290
转载 IOS 消息机制(NSNotificationCenter)
消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解。今天就花些时间,把消息机制原理重头到尾好好过一遍。iOS 提供了一种 "同步的" 消息通知机制,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦。这种消息通知机制可以应用于任意时间和任何对象,观察者可以有多个,所以消
2016-08-30 17:29:39
404
转载 FXBlurView模糊图片处理
UIImageView * imageView = [[UIImageView alloc] initWithFrame:self.view.bounds]; imageView.image = [UIImage imageNamed:@"Default-Port-hd47"]; [self.view addSubview:imageView];
2016-07-29 14:00:21
498
转载 iOS App开发那些事:如何选择合适的人、规范和框架?
原博客地址:http://www.cocoachina.com/ios/20141202/10386.html自从做Team Leader之后,身上权责发生了变化,于是让我烦恼的不再是具体某个功能,某个界面的实现,而是如何在现有代码的基础上做渐进式的改进,创造出比较合适规范和框架,使得组内成员更快更好地完成任务。一年下来,颇有点想法,于是啰嗦几句关于iOS App开发的那些事。
2016-07-26 14:26:11
306
转载 IOS Xcode开发中的文件后缀名区别m,mm,cpp,h
.h :头文件。头文件包含类,类型,函数和常数的声明。.m :源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。.mm :源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名.cpp:只能编译C++当你需要
2016-07-25 14:58:30
522
原创 tableview的展开和折叠
@implementation TableViewController- (void)viewDidLoad { [superviewDidLoad]; // Uncomment the following line to preserve selection between presentations. // se
2016-07-21 15:58:46
414
原创 UIScrollView、UIPageControl的属性总结
//// ViewController.m// ScrollerView2(分页图片)//// Created by 张文华 on 15/12/7.// Copyright © 2015年张 文华. All rights reserved.//#import "ViewController.h"
2016-07-21 15:11:06
229
原创 沙盒的应用
//// ViewController.m// SandBox#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewD
2016-07-21 15:05:13
260
原创 搜索框的使用
//// ViewController.m// 联系人管理//// Created by 张文华 on 15/12/15.// Copyright © 2015年张 文华. All rights reserved.//#import "ViewController.h"#import "Contact.
2016-07-21 14:43:11
402
转载 iOS 开发者中的公司账号与个人账号之间有什么区别?
作者:李宏涛链接:http://www.zhihu.com/question/20308474/answer/73188972来源:知乎著作权归作者所有,转载请联系作者获得授权。李宏涛 ,接APP外包 QQ36926360/微信ijinbu 欢迎合作苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:1、个人(Individual)2、组织(O
2016-07-21 13:18:25
4067
转载 Objective-C语法之KVC使用
除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding(KVC)键值编码来访问你要存取的类的属性。下图来自苹果官网: 如何使用KVC存取对象属性呢?看个示例1、使用KVC定义一个Student类,继承于NSObject。.h文件#import @interface Student : NSObject{
2016-07-21 11:00:32
196
原创 plist 文件、slider、stepper的使用
//// ViewController.m// ImagesView//// Created by 张文华 on 15/12/3.// Copyright © 2015年张 文华. All rights reserved.//#import "ViewController.h"@interf
2016-07-21 09:11:05
336
原创 由于IDFA被苹果拒绝的处理
由于app集成了ADSupport.framework,但是没有使用这个框架,在上架申请时候,被苹果拒绝了,原因如下Thank you for your resubmission. We followed the provided steps but we did not find any ads. PLA 3.3.12We found that your app us
2016-07-20 11:22:28
3184
原创 IOS代理
2,代理的使用委托人做的事情:1,定义代理协议,包括代理方法2,定义代理属性:格式:@property(weak,nonatomic) id代理协议>delegate;3,将特定事物指定代理去完成4,类实例化对象要设置代理被委托人: 1,遵循代理协议2,实现代
2016-07-15 17:00:34
197
原创 版本控制
版本控制:一、,什么是版本控制 1,保存中间的所有修改(提交,版本记录) 2,分辨每次修改的区别(回退) 3,保持多人工作时候的协同(冲突);二、常用的版本控制工具软件 1,集中式:CVS、SVN 2,分布式:git三、常用的git命令
2016-07-15 16:12:17
204
转载 日期格式
日期格式ios日期格式yyyy-MM-dd看到示例代码展示的日期格式,不符合本地化习惯,查看帮助文档,修改成常用的年月日格式,记录供以后查找;NSDate *now = [NSDate date];NSDateFormatter *df = [[NSDateFormatter alloc] init];[df setDateFormat:@"yy
2016-07-15 16:11:23
278
转载 IOS开发—UITableView重用机制的理解
IOS开发—UITableView重用机制的理解引言对于一个UITableView而言,可能需要显示成百上千个Cell,如果每个cell都单独创建的话,会消耗很大的内存。为了避免这种情况,重用机制就诞生了。假设某个UITableView有100个数据需要显示,即需要100个Cell,然而屏幕中最多只能一次性显示10个Cell,
2016-07-15 16:10:35
2429
转载 UIScrollView的属性总结
UIScrollView的属性总结属性作用CGPoint contentOffSet 监控目前滚动的位置CGSize contentSize 滚动范围的大小UIEdgeInsets contentInset 视图在scrollView中的位置iddelegate 设置协议BOOL directionalLockEnabled
2016-07-15 16:09:29
188
原创 collectionView的反弹效果
bounces :反弹效果self.collectionView.bounces = NO; #pragma mark - 加载视图- (void)viewDidLoad { [super viewDidLoad]; // 注册cell [self.collectionView regist
2016-07-15 16:08:19
2028
原创 创建webView, 并自适应屏幕大小
// 1. 创建webView,并自适应屏幕大小 UIWebView *homeWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; // 根据屏幕大小自动调整页面尺寸 homeWebView.scalesPageToFit = YES;
2016-07-15 16:07:25
664
原创 加载一级分类数据、加载即选中第一行
- (void)loadData { [SCCatelogListTool GETCatelogyListWithLevel:@"0" catelogyId:@"0" success:^(NSArray *catelogyList) { [self.catelogyList addObjectsFromArray:catelogyLi
2016-07-15 16:06:38
276
原创 UICollectionViewLayout的使用
UICollectionViewLayout这是博主的WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里。如果您是首次来到本站,也许您会有兴趣通过RSS,或者通过页面左侧的邮件订阅的方式订阅本站。在上一篇UICollectionView的入门介绍中,大概地对iOS6新加入的强大的UICollectionView进行了一些说明。在这篇博文中,将结合WWDC201
2016-07-15 16:04:41
1498
原创 UIAlertView的使用
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"真的不买了?" message:@"机不可失,失不再来哦!" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil]; [alertView show];
2016-07-15 16:03:48
261
原创 导航栏的设置
设置导航颜色[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1]];[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];设置导航文字颜色[[U
2016-07-15 15:46:52
209
原创 设置字体属性
设置字体[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForeg
2016-07-15 15:45:20
341
转载 获取键盘高度
最近做了一个自定义键盘,首先是要知道iOS设备各种键盘的高度,下面就来说一下怎么获取键盘的高度。 主要是利用键盘弹出时的通知。 1、首先先随便建一个工程。 2、在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下:1011//增加监听,当键盘出现或改变时收出消息[[NSNotificati
2016-07-15 15:44:34
407
原创 当不是栈底控制器时候,隐藏底部菜单栏
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{ // 判断是否为栈底控制器 if (self.viewControllers.count >0) { viewController.hidesBotto
2016-07-15 15:43:09
218
原创 键盘退出
键盘退出遇到的问题是如果我设置了其中任一项参数之后没有关闭键盘,然后直接点击左上角的“back”,就会出现home view先填充满整个view,然后又被navigation的navigationbar挤下来了。为了解决掉这个问题,要么在切换之前把键盘关掉,也得实现点击空白处就能关闭键盘。那么下面就是代码切换前关闭键盘要切换view,那么原来的view肯定会先调
2016-07-15 15:41:48
342
原创 键盘样式
键盘样式typedef NS_ENUM(NSInteger, UIKeyboardType) { UIKeyboardTypeDefault, // Default type for the current input method. UIKeyboardTypeASCIICapable,
2016-07-15 15:40:18
558
原创 TextField控件详解
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;
2016-07-15 15:39:29
1398
原创 图片平铺展开成背景颜色
self.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"toolBarBackImage"]];
2016-07-15 15:38:31
229
原创 把用户名和密码存储到便好设置
//把用户名和密码存储到便好设置 NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults]; [userDefault setObject:self.userTextfield.text forKey:@"userName"]; [userDefault setObject:self
2016-07-15 15:37:27
204
原创 SQLlite3
//执行SQL语句-(void)execSql:(NSString *)sql{ char *error=NULL; if(sqlite3_exec(db,[sql UTF8String],NULL,NULL,&error)==SQLITE_OK) { NSLog(@"创建表成功");
2016-07-15 15:36:10
442
原创 判断手机操作系统
#define ISIOS7 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7)#define ISIOS6 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=6)
2016-07-15 15:32:25
230
原创 百度地图的注意事项
1、如果在iOS9中使用了调起百度地图客户端功能,必须在"Info.plist"中进行如下配置,否则不能调起百度地图客户端。 LSApplicationQueriesSchemes baidumap 2、管理地图的生命周期:自2.0.0起,BMKMapView新增viewWillAppear、viewWillDi
2016-07-15 15:29:42
317
原创 Iphone手机各屏幕尺寸
4s: 960 x 6405s:640*11366: 750*133346 plus:1080*19204s,5s,6通知栏 40px6 plus通知栏 54px在iPhone中,所有的单位都是按照点来算的。一个点长2像素,宽2像素。所以以像素为基准的设计要除以2。
2016-07-15 15:25:55
324
原创 NSScanner类的使用
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。 创建一个Scanner NSScanner是一个类族, NSScanner是其中公开的一类。通常,可以用scannerWithString:或localized
2016-07-15 15:24:31
195
原创 OS 导出 ipa 包时 四个选项的意义
如图 在 iOS到处 ipa包的时候会有四个选项 1.Save for iOS App Store Deployment保存到本地 准备上传App Store或者在越狱的iOS设备上使用2.Save for Ad Hoc Deployment保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证
2016-07-15 15:21:14
166
原创 设置cell背景
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_cell_normal_h"]]; // 设置cell被选中时的背景 cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UII
2016-07-15 15:18:38
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人