ios
iteye_5239
这个作者很懒,什么都没留下…
展开
-
tableView的刷新
1.tableView的刷新1> 数据刷新的总体步骤* 修改模型数据* 刷新表格(刷新界面)2> 刷新表格(刷新界面)的方法* 全局刷新(每一行都会重新刷新)- (void)reloadData;* 局部刷新(使用前提: 刷新前后, 模型数据的个数不变)- (void)reloadRows:(NSArray *)indexPaths withRowAnima...原创 2014-11-24 11:39:12 · 177 阅读 · 0 评论 -
应用沙盒结构分析
应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录Library/Cac...原创 2014-11-07 23:19:33 · 143 阅读 · 0 评论 -
property的属性设置
copy : NSString\NSMutableString\block weak : 代理\UI控件 strong : 其他OC对象 assign : 基本数据类型(int\float)\枚举\结构体原创 2014-11-07 23:18:23 · 92 阅读 · 0 评论 -
AppDelegate中方法的作用
/** * app加载完毕的时候调用(一般只调用一次) * */- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSLog(@"didFinishLaunchingWithOptions");...原创 2014-11-07 23:16:44 · 111 阅读 · 0 评论 -
NSSearchPathForDirectoriesInDomains和NSHomeDirectory差异 转
iPhone会为每一个应用程序生成一个私有目录,这个目录位于:/Users/sundfsun2009/Library/Application Support/iPhone Simulator/User/Applications下,并随即生成一个数字字母串作为目录名,在每一次应用程序启动时,这个字母数字串都是不同于上一次。所以通常使用Documents目录进行数据持久化的保存,而这个...原创 2014-11-07 21:32:41 · 113 阅读 · 0 评论 -
控制器的title等价于navigationItem.title
// contactVc.title 等价于 contactVc.navigationItem.title// contactVc.navigationItem.title = [NSString stringWithFormat:@"%@的联系人列表", self.accountField.text];原创 2014-11-04 23:29:31 · 72 阅读 · 0 评论 -
创建控制器的几种方式
控制器常见的创建方式有以下几种通过storyboard创建1、直接创建MJViewController *mj = [[MJViewController alloc] init];2、指定xib文件来创建MJViewController *mj = [[MJViewController alloc] initWithNibName:@"MJViewControlle...原创 2014-11-03 16:51:22 · 113 阅读 · 0 评论 -
pch文件作用 和 NSLog函数的处理
/************__OBJC__BEGIN************/// 里面的所有内容只能用到.m文件中或者.mm#ifdef __OBJC__#import #import #import "MJPerson.h"#ifdef DEBUG // 调试阶段#define MJLog(...) NSLog(__VA_ARGS__)#else //...原创 2014-11-02 21:04:15 · 72 阅读 · 0 评论 -
通知和代理的区别
共同点利用通知和代理都能完成对象之间的通信(比如A对象告诉D对象发生了什么事情, A对象传递数据给D对象)不同点代理 : 一对一关系(1个对象只能告诉另1个对象发生了什么事情)通知 : 多对多关系(1个对象能告诉N个对象发生了什么事情, 1个对象能得知N个对象发生了什么事情)通知注意 :对象销毁时释放通知...原创 2014-10-28 22:08:04 · 105 阅读 · 0 评论 -
UISwitch的使用和监听TextView文字的改变
1.UISwitch* UISwitch继承自UIControl,因此也能像UIButton一样监听一些事件,比如状态改变事件* UISwitch可以通过拖线监听状态改变* UISwitch可以通过addTarget:...方法监听状态改变- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UICont...原创 2014-11-07 23:20:57 · 216 阅读 · 0 评论 -
modal
除了push之外,还有另外一种控制器的切换方式,那就是Modal任何控制器都能通过Modal的形式展示出来Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animate...原创 2014-11-08 11:56:20 · 78 阅读 · 0 评论 -
数据存储
数据存储1、plist属性列表1> 适用对象:仅仅是Foundation框架中自带的一些类,比如NSString\NSArray\NSDictionary\NSSet\NSNumber\NSData2> 调用对象的writeToFile...方法就可以写入文件3> 调用对象的...WithContentOfFile方法就可以从文件中读取对象内容2、 偏好设置1> 本质还...原创 2014-11-24 11:38:31 · 87 阅读 · 0 评论 -
去除按钮的高亮显示
重写改方法- (void)setHighlighted:(BOOL)highlighted { }原创 2014-11-20 21:59:32 · 369 阅读 · 0 评论 -
自动填充 superView的左边和下面
badgeButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin;原创 2014-11-20 21:43:52 · 88 阅读 · 0 评论 -
KVO
KVO 有添加监听 在销毁时就需要移除 监听原创 2014-11-19 23:37:48 · 88 阅读 · 0 评论 -
IOS截屏
+ (instancetype)captureWithView:(UIView *)view{ // 1.开启上下文 UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0); // 2.将控制器view的layer渲染到上下文 [view.layer renderInC...原创 2014-11-12 22:54:03 · 112 阅读 · 0 评论 -
UIImage裁剪分类方法
+ (instancetype)circleImageWithName:(NSString *)name borderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor{ // 1.加载原图 UIImage *oldImage = [UIImage imageNamed:name]; ...原创 2014-11-12 22:44:17 · 133 阅读 · 0 评论 -
UIImage创建水印的分类方法
+ (instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo{ UIImage *bgImage = [UIImage imageNamed:bg]; // 1.创建一个基于位图的上下文(开启一个基于位图的上下文) UIGraphicsBeginImageContextWit...原创 2014-11-12 22:01:11 · 93 阅读 · 0 评论 -
OC中需要release 的对象
oc 中凡是 通过 create、copy、retain 的对象都需要release原创 2014-11-12 21:16:03 · 414 阅读 · 0 评论 -
使用xib封装一个view的步骤
1、新建一个xib文件描述一个view的内部结构(假设叫做MJTgCell.xib)2、新建一个自定义的类(自定义类需要继承自系统自带的view, 继承自哪个类, 取决于xib根对象的Class)3、新建类的类名最好跟xib的文件名保持一致(比如类名就叫做MJTgCell)4、将xib中的控件 和 自定义类的.m文件 进行连线5、提供一个类方法返回一个创建好的...原创 2014-10-28 22:06:52 · 46 阅读 · 0 评论 -
通过代码自定义cell(cell的高度不一致)
1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中)进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)3.提供2个模型数据模型: 存放文字数据\图片数据frame模...原创 2014-10-28 22:05:40 · 79 阅读 · 0 评论 -
创建拉伸不变形的图片
/** * 返回一张可以随意拉伸不变形的图片 * * @param name 图片名字 */+ (UIImage *)resizableImage:(NSString *)name{ UIImage *normal = [UIImage imageNamed:name]; CGFloat w = normal.size.width * 0.5; ...原创 2014-10-28 22:04:08 · 86 阅读 · 0 评论 -
Xib和storyboard对比
共同点:都用来描述软件界面都用Interface Builder工具来编辑不同点Xib是轻量级的,用来描述局部的UI界面Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系...原创 2014-10-18 22:15:02 · 55 阅读 · 0 评论 -
instancetype和id的区别
instancetype在类型表示上,跟id一样,可以表示任何对象类型instancetype只能用在返回值类型上,不能像id一样用在参数类型上instancetype比id多一个好处:编译器会检测instancetype的真实类型...原创 2014-10-18 12:55:13 · 47 阅读 · 0 评论 -
property
copy : NSString strong: 一般对象 weak: UI控件 assign:基本数据类型原创 2014-10-18 12:45:53 · 80 阅读 · 0 评论 -
UIButton中的UIImageView和Label
UIButton之所以能够显示图片和文字,是因为UIButton中有UIImageView属性和Label属性设置按钮的文字的大小如下代码:downloadBtn.titleLabel.font = [UIFont systemFontOfSize:13];但是设置图片不能直接去Label和UIImageView属性直接进行设置,因为不知道按钮的状态,要用如下代码进行设置:...原创 2014-10-17 00:21:02 · 97 阅读 · 0 评论 -
iOS day2
1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序的安装路径/Users/aplle/资源库/Application Support/iPhone Simulator/7.1/Applications2.UIImageView和UIButton...原创 2014-10-15 23:52:31 · 105 阅读 · 0 评论 -
UIImage的2种加载方式的区别
方式一:有缓存(图片所占用得内存会一直停留在程序中)UIImage *image = [UIImage imageNamed:filename];方式二:无缓存(图片所占用的内存会在一些特定操作后被清除)NSBundle *bundle = [NSBundle mainBundle];NSString *path = [bundle pathForResource:filena...原创 2014-10-15 23:09:54 · 66 阅读 · 0 评论 -
通过NSBundle加载plist文件
1.NSBundle1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹2> 利用mainBundle就可以访问软件资源包中的任何资源3> 模拟器应用程序的安装路径/Users/aplle/资源库/Application Support/iPhone Simulator/7.1/Applications // File :...原创 2014-10-15 21:57:27 · 176 阅读 · 0 评论 -
ios day1
1.IBAction:1> 能保证方法可以连线2> 相当于void2.IBOutlet:1> 能保证属性可以连线3.常见错误setValue:forUndefinedKey:]: this class is not key value coding错误原因是:连线出问题了4.Xcode5开始的一些建议把用于连线的一些方法和属性声明在.m文件的类扩展中...原创 2014-10-13 20:34:37 · 62 阅读 · 0 评论 -
加载xib文件的两种方式
Xib文件可以用来描述某一块局部的UI界面Xib文件的加载方法1NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"MJAppView" owner:nil options:nil];这个方法会创建xib中的所有对象,并且将对象按顺序放到objs数组中(如果xib如右图所示,那么objs数组中依次会有3个对象:1个UI...原创 2014-10-18 22:15:52 · 52 阅读 · 0 评论 -
Button 的Type Syetem和Custome的区别
System时长按会变灰色Custome 不会原创 2014-10-19 01:02:54 · 228 阅读 · 0 评论 -
计算文字的SIZE的方法
- (CGSize)sizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize{ NSDictionary *attrs = @{NSFontAttributeName : font}; return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLin...原创 2014-10-28 21:59:04 · 103 阅读 · 0 评论 -
多长时间后调用
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self.delegate tgFootViewDidClickLoadBtn:self]; self.loadBtn.hidden = N...原创 2014-10-26 11:22:36 · 76 阅读 · 0 评论 -
给label 设置位矩形
[label.layer setCornerRadius:5];[label setClipsToBounds:YES];原创 2014-10-21 23:40:37 · 64 阅读 · 0 评论 -
iOS中两种弹出框
1、从底部弹出 UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"恭喜通关" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:@"其他", nil]; [sheet showInV...原创 2014-10-20 23:54:47 · 80 阅读 · 0 评论 -
使UIView 中的所有 UIButton 都不能被点击
self.optionView.userInteractionEnabled = NO;原创 2014-10-20 23:52:21 · 246 阅读 · 0 评论 -
iOS中两种定时器
频率比较高 CADisplayLink相隔时间较长 NSTimer注意事项:当前线程正在处理其他事件时,定时器不会执行。可以设置线程的优先级代码如下self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextImage) userInfo:nil r...原创 2014-10-20 23:51:39 · 62 阅读 · 0 评论 -
延时调用 数组调用对象方法 移图层到最前面 控制状态栏样式
1、定时器controller [self performSelector:@selector(nextQuestion:) withObject:nil afterDelay:0.5];2、让数组中每个对象调用某个方法 [self.optionsView.subviews makeObjectsPerformSelector:@selector(removeFromSupervi...原创 2014-10-20 00:42:26 · 80 阅读 · 0 评论 -
iOS day3
1.Xcode自带头文件的路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/System/Library/Frameworks/UIKit.framework/Headers2.修改了系统自带头文件后,...原创 2014-10-19 09:28:52 · 85 阅读 · 0 评论