IOS
张文华的小花妞
2011年毕业,5年domino OA开发经验,一年移动APP开发经验
展开
-
iOS 离屏渲染的研究
GPU渲染机制:CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。GPU屏幕渲染有以下两种方式:On-Screen Rendering意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Rend转载 2016-08-30 18:12:15 · 281 阅读 · 0 评论 -
collectionView的反弹效果
bounces :反弹效果self.collectionView.bounces = NO; #pragma mark - 加载视图- (void)viewDidLoad { [super viewDidLoad]; // 注册cell [self.collectionView regist原创 2016-07-15 16:08:19 · 1957 阅读 · 0 评论 -
创建webView, 并自适应屏幕大小
// 1. 创建webView,并自适应屏幕大小 UIWebView *homeWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; // 根据屏幕大小自动调整页面尺寸 homeWebView.scalesPageToFit = YES;原创 2016-07-15 16:07:25 · 634 阅读 · 0 评论 -
加载一级分类数据、加载即选中第一行
- (void)loadData { [SCCatelogListTool GETCatelogyListWithLevel:@"0" catelogyId:@"0" success:^(NSArray *catelogyList) { [self.catelogyList addObjectsFromArray:catelogyLi原创 2016-07-15 16:06:38 · 268 阅读 · 0 评论 -
UICollectionViewLayout的使用
UICollectionViewLayout这是博主的WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里。如果您是首次来到本站,也许您会有兴趣通过RSS,或者通过页面左侧的邮件订阅的方式订阅本站。在上一篇UICollectionView的入门介绍中,大概地对iOS6新加入的强大的UICollectionView进行了一些说明。在这篇博文中,将结合WWDC201原创 2016-07-15 16:04:41 · 1490 阅读 · 0 评论 -
UIAlertView的使用
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"真的不买了?" message:@"机不可失,失不再来哦!" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil]; [alertView show];原创 2016-07-15 16:03:48 · 250 阅读 · 0 评论 -
导航栏的设置
设置导航颜色[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1]];[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];设置导航文字颜色[[U原创 2016-07-15 15:46:52 · 204 阅读 · 0 评论 -
设置字体属性
设置字体[[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 · 329 阅读 · 0 评论 -
获取键盘高度
最近做了一个自定义键盘,首先是要知道iOS设备各种键盘的高度,下面就来说一下怎么获取键盘的高度。 主要是利用键盘弹出时的通知。 1、首先先随便建一个工程。 2、在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下:1011//增加监听,当键盘出现或改变时收出消息[[NSNotificati转载 2016-07-15 15:44:34 · 392 阅读 · 0 评论 -
当不是栈底控制器时候,隐藏底部菜单栏
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{ // 判断是否为栈底控制器 if (self.viewControllers.count >0) { viewController.hidesBotto原创 2016-07-15 15:43:09 · 213 阅读 · 0 评论 -
键盘退出
键盘退出遇到的问题是如果我设置了其中任一项参数之后没有关闭键盘,然后直接点击左上角的“back”,就会出现home view先填充满整个view,然后又被navigation的navigationbar挤下来了。为了解决掉这个问题,要么在切换之前把键盘关掉,也得实现点击空白处就能关闭键盘。那么下面就是代码切换前关闭键盘要切换view,那么原来的view肯定会先调原创 2016-07-15 15:41:48 · 336 阅读 · 0 评论 -
键盘样式
键盘样式typedef NS_ENUM(NSInteger, UIKeyboardType) { UIKeyboardTypeDefault, // Default type for the current input method. UIKeyboardTypeASCIICapable,原创 2016-07-15 15:40:18 · 546 阅读 · 0 评论 -
TextField控件详解
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;原创 2016-07-15 15:39:29 · 1390 阅读 · 0 评论 -
UIScrollView的属性总结
UIScrollView的属性总结属性作用CGPoint contentOffSet 监控目前滚动的位置CGSize contentSize 滚动范围的大小UIEdgeInsets contentInset 视图在scrollView中的位置iddelegate 设置协议BOOL directionalLockEnabled转载 2016-07-15 16:09:29 · 183 阅读 · 0 评论 -
IOS开发—UITableView重用机制的理解
IOS开发—UITableView重用机制的理解引言对于一个UITableView而言,可能需要显示成百上千个Cell,如果每个cell都单独创建的话,会消耗很大的内存。为了避免这种情况,重用机制就诞生了。假设某个UITableView有100个数据需要显示,即需要100个Cell,然而屏幕中最多只能一次性显示10个Cell,转载 2016-07-15 16:10:35 · 2412 阅读 · 0 评论 -
IOS 消息机制(NSNotificationCenter)
消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解。今天就花些时间,把消息机制原理重头到尾好好过一遍。iOS 提供了一种 "同步的" 消息通知机制,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦。这种消息通知机制可以应用于任意时间和任何对象,观察者可以有多个,所以消转载 2016-08-30 17:29:39 · 396 阅读 · 0 评论 -
tableview的展开和折叠
@implementation TableViewController- (void)viewDidLoad { [superviewDidLoad]; // Uncomment the following line to preserve selection between presentations. // se原创 2016-07-21 15:58:46 · 403 阅读 · 0 评论 -
沙盒的应用
//// ViewController.m// SandBox#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewD原创 2016-07-21 15:05:13 · 250 阅读 · 0 评论 -
搜索框的使用
//// ViewController.m// 联系人管理//// Created by 张文华 on 15/12/15.// Copyright © 2015年张 文华. All rights reserved.//#import "ViewController.h"#import "Contact.原创 2016-07-21 14:43:11 · 397 阅读 · 0 评论 -
iOS 开发者中的公司账号与个人账号之间有什么区别?
作者:李宏涛链接:http://www.zhihu.com/question/20308474/answer/73188972来源:知乎著作权归作者所有,转载请联系作者获得授权。李宏涛 ,接APP外包 QQ36926360/微信ijinbu 欢迎合作苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:1、个人(Individual)2、组织(O转载 2016-07-21 13:18:25 · 4025 阅读 · 0 评论 -
Objective-C语法之KVC使用
除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding(KVC)键值编码来访问你要存取的类的属性。下图来自苹果官网: 如何使用KVC存取对象属性呢?看个示例1、使用KVC定义一个Student类,继承于NSObject。.h文件#import @interface Student : NSObject{转载 2016-07-21 11:00:32 · 188 阅读 · 0 评论 -
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 · 325 阅读 · 0 评论 -
由于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 · 3161 阅读 · 0 评论 -
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 · 482 阅读 · 0 评论 -
IOS代理
2,代理的使用委托人做的事情:1,定义代理协议,包括代理方法2,定义代理属性:格式:@property(weak,nonatomic) id代理协议>delegate;3,将特定事物指定代理去完成4,类实例化对象要设置代理被委托人: 1,遵循代理协议2,实现代原创 2016-07-15 17:00:34 · 194 阅读 · 0 评论 -
版本控制
版本控制:一、,什么是版本控制 1,保存中间的所有修改(提交,版本记录) 2,分辨每次修改的区别(回退) 3,保持多人工作时候的协同(冲突);二、常用的版本控制工具软件 1,集中式:CVS、SVN 2,分布式:git三、常用的git命令原创 2016-07-15 16:12:17 · 194 阅读 · 0 评论 -
日期格式
日期格式ios日期格式yyyy-MM-dd看到示例代码展示的日期格式,不符合本地化习惯,查看帮助文档,修改成常用的年月日格式,记录供以后查找;NSDate *now = [NSDate date];NSDateFormatter *df = [[NSDateFormatter alloc] init];[df setDateFormat:@"yy转载 2016-07-15 16:11:23 · 268 阅读 · 0 评论 -
图片平铺展开成背景颜色
self.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"toolBarBackImage"]];原创 2016-07-15 15:38:31 · 223 阅读 · 0 评论 -
把用户名和密码存储到便好设置
//把用户名和密码存储到便好设置 NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults]; [userDefault setObject:self.userTextfield.text forKey:@"userName"]; [userDefault setObject:self原创 2016-07-15 15:37:27 · 198 阅读 · 0 评论 -
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 · 432 阅读 · 0 评论 -
pop 到指定vc
NewAddressViewController *newAddressVC = [[NewAddressViewController alloc]init]; for (UIViewController *vc in self.navigationController.viewControllers) { //NSLog(@"vcS=%@",[原创 2016-07-15 14:59:31 · 574 阅读 · 0 评论 -
计算label行数
CGFloat labelHeight = [string boundingRectWithSize:CGSizeMake(width, INT32_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:11]} context:nil原创 2016-07-15 14:58:35 · 395 阅读 · 1 评论 -
过滤掉表情图片
- (void)filterEmojiExpressions { if (self.MarkTextView.text && self.MarkTextView.text.length > 0) { NSMutableString *originText = [NSMutableString stringWithString:self.MarkTextView.原创 2016-07-15 14:57:03 · 381 阅读 · 0 评论 -
数组中插入另一个数组
NSRange range;range = NSMakeRange(self.indexpathSelectedRow.row+1, [self.allSonOrderArray count]); NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:range];原创 2016-07-15 14:55:28 · 519 阅读 · 0 评论 -
UILabel添加删除线
/ NSUInteger length = [_oldPricesLabel.text length];// // NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:_oldPricesLabel.text];// [attri a原创 2016-07-15 14:54:24 · 256 阅读 · 0 评论 -
计算label高度
计算label高度 UILabel * nameLabel = [[UILabel alloc]init]; nameLabel.text = dictionary[@"goodsname"]; NSString * string = nameLabel.text; CGFloat width = SCREEN_WIDTH原创 2016-07-15 14:41:43 · 287 阅读 · 0 评论 -
工具类的APP应该怎样运营,从这四个点切入
前两天,有一位读者给我试用了一下他们的工具型App,而很巧的是,上周也有个读者希望我来聊聊工具型产品的运营。那今天就来做个不深入的讨论。一、切入点要准运营初始化首先要明确,无论什么产品,在开始运营前都会讨论切入点。切入点之所以关键,是因为切入点和以下因素相关:用户属性:谁是工具的目标用户?用户需求:这些用户的需求是什么?用户触达:哪里可以找到这些用户?用户契合:用户转载 2016-07-15 14:20:48 · 909 阅读 · 0 评论 -
iOS App开发那些事:如何选择合适的人、规范和框架?
原博客地址:http://www.cocoachina.com/ios/20141202/10386.html自从做Team Leader之后,身上权责发生了变化,于是让我烦恼的不再是具体某个功能,某个界面的实现,而是如何在现有代码的基础上做渐进式的改进,创造出比较合适规范和框架,使得组内成员更快更好地完成任务。一年下来,颇有点想法,于是啰嗦几句关于iOS App开发的那些事。转载 2016-07-26 14:26:11 · 300 阅读 · 0 评论 -
苹果企业账号发布APP详解——通过自己网站分发应用
一、通过企业账号申请证书1 Certificate Signing Request (CSR)文件在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如图1所示:钥匙串请求证书—>填写前两项,并选择“存储到磁盘”,如图2所示:2 请求Certificate证书登录https:/转载 2016-07-14 17:05:49 · 1141 阅读 · 0 评论 -
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 · 493 阅读 · 0 评论