iOS
学习笔记666
这个作者很懒,什么都没留下…
展开
-
iOS8 本地通知使用方法
/*报错信息可能如下:1 Attempting to schedule a local notification2 with an alert but haven't received permission from the user to display alerts3 with a sound but haven't received permission from the user转载 2015-05-17 14:27:25 · 484 阅读 · 0 评论 -
获取plist文件的全路径
NSString *path = [[NSBundle mainBundel] pathForResource:@"app.plist" ofType:nil];原创 2015-06-17 20:37:31 · 545 阅读 · 0 评论 -
iOS通过代码自定义cell(cell的高度不同)的步骤
新建一个继承自UITableViewCell的类重写initWithStyle:reuseIdentifier:方法。添加所有需要显示的子控件(不需要设置子控件的数据和frame)提供一个模型属性重写模型属性的setter方法,在这个方法中设置子控件的frame和显示数据原创 2015-07-08 19:59:38 · 1178 阅读 · 0 评论 -
iOS7 计算文字的Size和frame 代码片段
NSDictionary *attrs = @{NSFontAttributeName: NameFont}; CGSize nameMaxSize = CGSizeMake(MAXFLOAT, MAXFLOAT); CGSize nameSize = [self.status.name boundingRectWithSize:nameMaxSize options:NSStri原创 2015-07-09 20:17:06 · 737 阅读 · 0 评论 -
iOS计算文字尺寸的方法
/** 计算文字的尺寸 */- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize{ NSDictionary *attrs = @{NSFontAttributeName: font}; return [text boundingRectWithSize:ma原创 2015-07-09 20:26:44 · 787 阅读 · 0 评论 -
iOS 数据存储 plist文件存储
【应用沙盒目录的常见获取方式】1.沙盒根目录:NSString *home = NSHomeDirectory();2.Documents:(2种方式)2.1 利用沙盒根目录拼接"Docuemnts"字符串NSString *home = NSHomeDirectory();NSString *documents = [home stringByAppendingPat原创 2015-07-26 12:24:29 · 441 阅读 · 0 评论 -
iOS UIImageView 圆角
UIImageView *iconView = [[UIImageView alloc]init]; //圆角 iconView.layer.cornerRadius = 20; iconView.clipsToBounds = YES;原创 2015-07-12 11:14:59 · 797 阅读 · 0 评论 -
iOS 8 Xcode6 设置Launch Image 启动图片
Step11.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image"2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以及低版本的ios系统做支持.这边我选了ios8.0,ios7.0,ios6没有做支持.Step2将规定尺寸的图片从你的文件中拖动进到固定位置.系统尺寸转载 2015-07-11 11:11:51 · 376 阅读 · 0 评论 -
iOS OC NSNumber转为BOOL
BOOL b = [num boolValue];原创 2015-07-25 22:18:34 · 2113 阅读 · 0 评论 -
iOS 数据存储-偏好设置
存:- (IBAction)save { // 1.利用NSUserDefaults,就能直接访问软件的偏好设置(Library/Preferences) NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // 2.存储数据 [defaults setObject:@"m原创 2015-07-26 07:59:38 · 792 阅读 · 0 评论 -
iOS UISwitch和UITextField 的监听
1.UISwitch* UISwitch继承自UIControl,因此也能像UIButton一样监听一些事件,比如状态改变事件* UISwitch可以通过拖线监听状态改变* UISwitch可以通过addTarget:...方法监听状态改变- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlE原创 2015-07-26 10:52:52 · 608 阅读 · 0 评论 -
setObject设置boolean的类型为啥不行?
tempDate = [ [ NSMutableDictionary alloc ] initWithCapacity:1];[ tempDate setObject:YES forKey:@"Flag" ];设置flag 为YES 为啥不行啊warning: passing argument 1 of 'setObject:forKey:' makes pointer from integer原创 2015-07-25 21:09:41 · 1120 阅读 · 0 评论 -
iOS 数据存储 归档普通对象 NSCoding NSKeyedArchiver
1.如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复2.不是所有对象都可以直接用这种方法进行归档,只有遵守了NSCoding协议的对象才可以3.NSCoding协议有2个方法encodeWithCoder:每次归档对象时,都会调用这个方法。一般在这个方法里指定如果归档对原创 2015-07-26 08:25:51 · 633 阅读 · 0 评论 -
iOS 记住密码\自动登录
定义了宏#define AccountKey @"account"#define PwdKey @"pwd"#define RmbPwdKey @"rmb_pwd"#define AutoLoginKey @"auto_login"- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup原创 2015-07-25 21:47:43 · 3940 阅读 · 0 评论 -
iOS tableView的刷新 笔记
1.tableView的刷新1> 数据刷新的总体步骤* 修改模型数据* 刷新表格(刷新界面)2> 刷新表格(刷新界面)的方法* 全局刷新(每一行都会重新刷新)- (void)reloadData;* 局部刷新(使用前提: 刷新前后, 模型数据的个数不变)- (void)reloadRows:(NSArray *)indexPaths withRowAnimation:(UITa原创 2015-07-27 19:37:18 · 435 阅读 · 0 评论 -
iOS Objective-C @property属性的用法
2.@property属性的用法* weak(assign) : 代理\UI控件* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)* copy : 字符串* assign : 非对象类型(基本数据类型int\float\BOOL\枚举\结构体)原创 2015-07-27 19:39:39 · 368 阅读 · 0 评论 -
iOS 设置NavigationBar和BarButtonItem的主题样式(iOS 6和iOS7适配)
/** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */+ (void)initialize{ // 1.设置导航栏主题 UINavigationBar *navBar = [UINavigationBar appearance]; // 设置背景图片 NSString *bgName = nil; if (iOS7) {原创 2015-08-07 19:34:17 · 393 阅读 · 0 评论 -
iOS UITableViewCell的性能问题
【UITableViewCell的性能问题】一、UITableView 的每一行都是一个UITableViewCell,通过dataSource 的tableView:cellForRowAtIndexPath:方法来初始化每行;UITableViewCell 的内部有个默认的子视图contentView,contentView是UITableViewCell所显示的内容的父视图,可显示一原创 2015-08-08 10:39:10 · 446 阅读 · 0 评论 -
iOS 加载xib文件
[[[NSBundle mainBundle]loadNibNamed:@"name" owner:nil options:nil]firstObject];原创 2015-08-08 14:00:15 · 390 阅读 · 0 评论 -
iOS 使用纯代码自定义UITableViewCell实现一个简单的微博界面布局
一、实现效果二、使用纯代码自定义一个UITableViewCell的步骤1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中)进行子控件一次性的属性设置(有些属性只需要设置一次, 比转载 2015-08-08 14:12:09 · 2461 阅读 · 0 评论 -
iOS UITableView数据刷新
刷新数据的两个步骤:1)修改模型2)刷新表格数据(可以全部刷新,也可以刷新指定的行) //1.修改模型 //如果选中的是取消,那么就返回,不做任何操作 if (0==buttonIndex) return; //否则就修改模型,刷新数据 YYheros *hero=self.heros[alertView.tag]; //拿到当原创 2015-08-08 13:52:32 · 650 阅读 · 0 评论 -
iOS Xcode 6报错:setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key v
模型里永不了KVC添加2个方法//找未找到的Key- (id) valueForUndefinedKey:(NSString *)key{ NSLog(@"Undefined Key: %@",key); return nil;}//设置未找到的Key- (void)setValue:(id)value forUndefinedKey:(NSString *)ke原创 2015-07-14 21:43:06 · 2466 阅读 · 0 评论 -
iOS UITableView的基本使用
【UITableView控件简单介绍】一、数据展示UITableView需要一个数据源(dataSource)来显示数据;UITableView会向数据源查询一共有多少行数据以及每行显示什么数据;没有设置数据源的UITableView只是空壳;凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源二、展示数据的过程1原创 2015-08-08 10:02:26 · 478 阅读 · 0 评论 -
iOS 返回一张可以随意拉伸不变形的图片
UIImage+Extension.h#import @interface UIImage (Extension)+ (UIImage *)resizableImage:(NSString *)name;@endUIImage+Extension.m#import "UIImage+Extension.h"@implementation UIImage (Extensi原创 2015-08-07 19:01:04 · 435 阅读 · 0 评论 -
UITableView控件使用总结
一、UITableView 的使用步骤: 1.告诉一共有多少组数据 -(NSInteger)numberOfSectionInTableView:(UITableView *)tableView; 2.告诉每一组一共有多少行 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sec原创 2015-08-08 14:46:00 · 373 阅读 · 0 评论 -
iOS 网络开发NSURLConnection——使用block回调方法发送异步请求
一、NSURLConnection的常用类(1)NSURL:请求地址(2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体....(3)NSMutableURLRequest:NSURLRequest的子类(4)NSURLConnection:负责发送请求,建立客户端和服务器的连接。发送NSURLRequest的数据转载 2015-08-22 09:55:25 · 1595 阅读 · 0 评论 -
从xib创建完,往xib里添加东西的 2个方法
- (void)awakeFromNib{}//这个更常用- (id)initWithCoder:(NSCoder *)aDecoder{}原创 2015-08-23 13:45:44 · 375 阅读 · 0 评论 -
查看设备是否是 retina屏幕
NSLog(@"%f",[UIScreen mainScreen].scale);//2.000000原创 2015-08-23 15:05:14 · 664 阅读 · 0 评论 -
从大图上裁剪小图,把小图设置为button按钮的图片
//加载大图片 UIImage *bigImage = [UIImage imageNamed:@"LuckyAstrology"]; //从大图中裁剪对应星座的图片 // NSLog(@"%f",[UIScreen mainScreen].scale);//2.000000 CGFloat smallW = bigImage.size.width原创 2015-08-23 15:08:35 · 1213 阅读 · 0 评论 -
调用按钮内部imageView的尺寸
1.新建一个继承自UIButton的类2.重写- (CGRect)imageRectForContentRect:(CGRect)contentRect{ CGFloat imageW = 40; CGFloat imageH = 47; CGFloat imageX = (contentRect.size.width - imageW) * 0.5; C原创 2015-08-23 15:43:12 · 637 阅读 · 0 评论 -
CADisplayLink做定时器任务
/** * 开始旋转 */- (void)statrRotating{ //1秒内刷新60次 CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)]; //添加到消息循环,link才能工作 [link addToRunL原创 2015-08-23 16:03:36 · 456 阅读 · 0 评论 -
核心动画——基础动画
//开始选号- (IBAction)startChoose { //停掉定时器 [self stopRotating]; //核心动画-基础动画 CABasicAnimation *anim = [CABasicAnimation animation]; anim.keyPath = @"transform.rotation"; anim原创 2015-08-23 16:31:17 · 364 阅读 · 0 评论 -
iOS 创建Label 提示“已成功下载”
//1.添加Label UILabel *label = [[UILabel alloc]init]; label.text = [NSString stringWithFormat:@"成功下载%@",cell.app.name]; label.font = [UIFont systemFontOfSize:12]; label.textColor = [UICo原创 2015-07-16 22:02:16 · 319 阅读 · 0 评论 -
选择tableView的某一行时,马上取消当前选中行(选中样式不保留)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ // 1.取消选中这行 [tableView deselectRowAtIndexPath:indexPath animated:YES]; // 2.其他 }原创 2015-08-09 11:17:34 · 1591 阅读 · 0 评论 -
懒加载中 把JSON文件转模型,复制给控制器的模型属性
- (NSArray *)htmls{ if (_htmls == nil) { // JSON文件的路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"help.json" ofType:nil]; // 加载JSON文件原创 2015-08-09 15:14:21 · 430 阅读 · 0 评论 -
tabBarItem的图片不要渲染成系统默认的蓝色
HomeViewController *home = [[HomeViewController alloc]init]; home.view.backgroundColor = [UIColor redColor]; home.title = @"首页"; home.tabBarItem.image = [UIImage imageNamed:@"tabbar_home_o原创 2015-08-24 20:23:00 · 1771 阅读 · 0 评论 -
iOS 多控制器和导航控制器简单介绍
【多控制器和导航控制器简单介绍】一、多控制器 一个iOS App 很少只有一个控制器组成的,除非这个App机器简单。当App中有多个控制器的时候,我们就需要对这些控制器进行管理。有多个view时,可以用一个大的view去管理1个或者多个小的view,控制器也是如此,用1个控制器去管理其它多个控制器。 比如,用一个控制器A去管理3个控制器B,C,D。控制器A被称为控制器BCD的 父控制器。原创 2015-08-10 15:18:37 · 440 阅读 · 0 评论 -
iOS Date Picker控件的简单使用(点击一个input框,弹出)
//1 //添加一个时间选择器 UIDatePicker *date=[[UIDatePicker alloc]init]; /** * 设置只显示中文 */ [date setLocale:[NSLocale localeWithLocaleIdentifier:@"zh-CN"]]; /** * 设置只显示日期原创 2015-08-10 14:53:56 · 2110 阅读 · 0 评论 -
创建UIWebView
如果我们控制器里就一个WebView,直接让我们控制器的view就是WebView,性能更好- (void)loadView{ self.view = [[UIWebView alloc]init];}另外的方法:在控制的view上再添加一个webView- (void)viewDidLoad { [super viewDidLoad]; // Do an原创 2015-08-10 19:45:41 · 370 阅读 · 0 评论 -
选择了tableView的某一行后以modal的方式跳转的到子控制器,以及子控制器导航栏左上角"关闭"按钮
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ KDHtmlViewController *html = [[KDHtmlViewController alloc]init]; KDNavigationController *原创 2015-08-10 19:48:36 · 653 阅读 · 0 评论