- 博客(96)
- 资源 (3)
- 收藏
- 关注
原创 处理imageView圆角
@implementationUIImage (Extension)- (UIImage*)circleImage{ // NO代表透明 UIGraphicsBeginImageContextWithOptions(self.size,NO,0.0); // 获得上下文 CGContextRe
2016-09-07 16:18:05 392
原创 多个tableview 点击状态栏当前scrollView滚动到顶部
1、在AppDelegate 判断是不是点击了状态栏2、判断当前view是否在主窗口,并且是显示状态//是否显示 #import"UIView+XMGExtension.h"(BOOL)isShowingOnKeyWindow{ // 主窗口 UIWindow *keyWindow = [UIApplications
2016-09-07 16:17:23 798
原创 BOOL与bool的区别
bool是c++上的,而BOOL时Obejctive-C的。看源码定义:/// Type to represent a boolean value.#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH#define OBJC_BOOL_IS_BOOL 1typedefboolBOOL;#else#de
2016-01-31 07:25:20 919
原创 swift 溢出处理
var potentialOverFlow = Int16.max potentialOverFlow = potentialOverFlow + 1溢出处理器会报错,如果想对溢出处理,则需加“&”溢出加法 &+溢出减法 &-溢出乘法 &*溢出除法 &/溢出求余 &%
2016-01-24 16:36:14 1078
转载 loadView,viewDidLoad,viewDidUnload
loadView,viewDidLoad,viewDidUnload,这三个函数到底应该怎么用?谷歌一下,全是转载,大概内容是这样:loadView 手动加载viewviewDidLoad用于nib文件加载后,进一步处理viewDidUnload是viewDidLoad的镜像参考官方文档,我给出纠正:一、loadView永远不要主动调用这个函数。view c
2016-01-12 00:12:45 379
原创 UIImage优化
imageNamed:使用系统缓存,适用于频繁使用的小图片imageWithContentOfFile:不带缓存机制,适用于大图片,使用完就释放。
2016-01-10 16:13:42 423
原创 使用symbolicatecrash解析crash log日志
普遍使用的方法是用symbolicatecrash来解析crash log:导出crash log 通过Xcode的Organizer查看某台iphone设备的DeviceLog,选择需要的crash log,导出XXX.crash文件。用symbolicatecrash来解析crash log:1.首先找到symbolicatecrash所在目录路径xcod
2016-01-09 16:14:42 1953
原创 iOS常用的第三方框架
AFNetworking //网络FMDB //数据库操作MBProgressHUD //进度条FLAnimatedImage //适用于iOS的高性能动画GIF引擎MWPhotoBrowser' //一个可选的网格视
2015-12-30 00:11:43 523
原创 Effective Objective-C 2.0(下)
第3章 接口与API设计第15条:用前缀避免命名空间冲突Objective-C没有其他语言那种内置的命名空间(namespace)机制。Apple宣称其保留使用所有“两字母前缀”(two-letter prefix)的权利,所以在类的前缀应该是三个字母。1.选择与你的公司、应用程序或二者皆有关联之名称作为类名的前缀,并在所有代码中均使用这一前缀。2.若自己所开发的程序
2015-10-06 23:13:04 727
原创 Effective Objective-C 2.0(上)
第1章 熟悉Objective-C第1条:了解objective-c的起源消息与函数调用之间的区别: 实用函数调用的语言,则由编译器决定。如果调用的函数是多态的,那么在运行时就要按照“虚方法表”来查出到底应该执行哪个函数的实现。 而使用消息结构的语言,其运行时所执行的代码由运行环境来决定。才用消息结构的语言,不论是否多态,总是在运行才会去查找所要
2015-10-06 23:07:50 599
转载 继承 有时候你可能需要重载代理方法
有时候你可能需要重载代理方法。考虑有两个 UIViewController 子类的情况:UIViewControllerA 和 UIViewControllerB,有下面的类继承关系。UIViewControllerB UIViewControllerA 遵从 UITableViewDelegate 并且实现了 - (CGFloat)tableView:(UITableView *)t
2015-10-05 00:18:23 577
原创 动态计算文本的高度
一、- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0); 这是NSStr
2015-10-05 00:08:58 893
原创 nil,NIL,NULL
1.nil 指给对象赋值(Objective-C中的任何对象都属于id类型)id object = nil; // 判断对象不为空 if (object) { } // 判断对象为空 if (object == nil) { } 2. NULL 给任何指针赋值,而NSNull则用于集合操作(集合类的元素),虽然它们表示的都是空值.
2015-10-05 00:05:05 410
转载 本地化下按首字母分组排序的神器——UILocalizedIndexedCollation
最近在整一个很简单的通讯录相关的项目,通讯录当然就少不了按首字母或者汉字拼音首字母分组排序索引。因为按照我一贯的的做法,都是想要做成更通用的、支持本地化的,所以这就纠结了,世界各地的语言啊我去,我顶多也就认识中文和英语,这就不能用以前的那些比如把汉字转成拼音再排序的方法了,效率不高不说,对其他国家的本地化更是行不通。一个偶然的机会,我才发现SDK里已经提供了一个实现此功能的神器——UILocali
2015-08-12 10:00:19 1056 1
原创 TableViewCell中cell高度不一样时的优化
TableViewCell中cell高度不一样时的优化: 1.先创建有可能要显示的View(只初始化,不加载图片,如果后面不改变的在这初始化 不变的东西只初始化一次); 2.可以用一个数据模型记录Cell中所有子视图的位置,视图要显示的数据; 3.调用数据模型给Cell中的view赋值,并设置frame
2015-08-10 19:15:48 495
原创 数据持久化-NSKeyedArchiver
1.基本的数据类型如NSString、NSDictionary、NSArray、NSData、NSNumber等可以直接用NSKeyedArchiver归档和恢复。2.不是所有的对象都可以直接用这种方法归档,只有遵守了NSCoding协议的对象才可以。3.NSCoding的协议有2个方法- (void)encodeWithCoder:(NSCoder *)encoder每次归档
2015-08-10 17:11:20 355
转载 关于[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]找不到指定文件的解决办法
最近在使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,找不到其对应的文件,文件当时是通过 右键->add files to 的方式添加到工程里面的,但是使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,无论如何都找不到文件,经过了重启
2015-07-16 17:35:27 907
转载 iOS 图片三种加载方式的比较
正确选择图片加载方式能够对内存优化起到很大的作用,常见的图片加载方式有下面三种:[objc] view plaincopy//方法1 UIImage *imag1 = [UIImage imageNamed:@"image.png"]; //方法2 UIImage *image2 = [UIImage imageWi
2015-07-14 19:39:19 539
转载 ObjectiveC 深浅拷贝学习
转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器
2015-07-14 10:57:15 467
转载 UIKeyboard键盘相关知识点-IOS开发
一、键盘风格 UIKit框架支持8种风格键盘。[java] view plaincopytypedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, //
2015-07-14 09:49:29 536
原创 stretchableImageWithLeftCapWidth气泡拉伸
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight;从点(topCapHeight,topCapHeight)往右下角开始拉伸
2015-07-07 19:34:45 623
转载 xcode6模拟器不显示键盘解决方案
对于xcode6模拟器运行程序后不显示键盘。只需要打开模拟器,在菜单栏中选择:hardware -> keyboard -> connect hardware keyboard(快捷键shift+command+k)默认情况下,xcode使用电脑键盘作为外接键盘,不再弹出虚拟键盘。如下图:原创内容,转载请注
2015-07-02 16:16:56 399
原创 Crashlytcis - 闪退分析平台
它可以有更多的信息来做优先级的判断:个别闪退的重要级是什么?个别闪退的影响范围?这个闪退什么时候开始的呢?闪退的环境?iOS或者安卓系统,系统版本等等每个版本整体的闪退情况怎样呢?需要发布新版本来解决线上的闪退问题吗?
2015-06-30 14:48:17 523
原创 Category protocol delegate
Category使用场景:1、类包含了很多个方法实现,而这些方法需要不同团队的成员来实现2、当你在使用基础类库中的类时,你不想继承这些类而只想添加一些方法时。Category能实现上面的需求,当然也有使用Category是需要注意的问题:1、Category可以访问原始类的实例变量,但不能添加实例变量,如果想添加变量,那就通过继承创建子类来实现。2、Category
2015-06-26 20:02:19 418
原创 Xcode 使用技巧
Control+I 选中的代码自动缩进。Command+[键和Command+] 将选定的代码进行左移或右移。Tab 接受代码自动完成提示Esc键 显示代码提示菜单按住Alt键双击鼠标 搜索文档
2015-06-26 10:00:23 410
原创 iOS 基础
字符串Objective-C 指定字符串的约定与C 相同:单个字符会使用单引号括起来,而字符串则使用双引号括起来。但是,Objective-C框架通常不使用 C字符串。相反,它们会使用 NSString对象。 NSString类为字符串提供了一个对象包装器,它具有诸多优势,如内置了可用于储存任意长度字符串的内存管理、提供了对各种字符编
2015-06-25 15:30:42 373
原创 iOS 常见小问题
1. iOS 编译后上下有黑边 ? 缺少启动图片2.Failed to instantiate the default view controller for UIMainStoryboardFile 'TestStoryboard' - perhaps the designated entry point is not set? 未设置根控制器 解决方法:
2015-06-25 10:28:19 560
原创 应用的响应性(Responsive)
如果应用6秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出ANR(ApplicationNo Response)对话框。在正常情况下,Android程序会在一条单线程里运行。如果Activity要处理一件比较耗时的工作,应该交给子线程完成,否侧会因为主线程被阻塞,后面的用户输入事件因没能在5秒内响应,导致应用出现ANR对话框。
2015-05-16 23:01:41 683
原创 Android中有四大组件activity、service、content provider、broadcast receiver
android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在An
2015-05-12 08:01:03 1082
转载 转)浅谈Android五大布局——LinearLayout、FrameLayout、AbsoulteLayout、RelativeLayout和TableLayout
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 Linear
2015-05-11 22:32:09 464
原创 fill_parent、wrap_content和match_parent的区别
三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便。1)fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。2) wrap_content设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和Im
2015-05-11 22:10:29 868
原创 python核心编程八——面向对象编程
对任何类C,表13.1 显示了类C的所有特殊属性:C.__name__ 类C的名字(字符串)C.__doc__ 类C的文档字符串C.__bases__ 类C的所有父类构成的元组C.__dict__ 类C的属性C.__module__ 类C定义所在的模块(1.5 版本新增)C.__class__ 实例C对应的类(仅新式类中)
2014-11-07 20:20:46 594
原创 python核心编程六-文件盒输入输出
1.文件内建函数 open和file file_object = open(file_name, access_mode='r', buffering=-1)
2014-11-07 09:37:46 487
原创 python核心编程六——条件和循环
1.if语句单个 if 语句可以通过使用布尔操作符 and , or 和 not。if-elif-else. elif即else ifif expression1: expr1_true_suiteelif expression2: expr2_true_suiteelse: none_of_the_above_suite
2014-11-07 09:12:17 942
原创 python核心编程五——映像和集合
1.字典 不允许一个键对应多个值:当有键发生冲突(即,字典键重复赋值),取最后(最近)的赋值。 >>> dict1 = {' foo':789, 'foo': 'xyz'} >>> dict1 {'foo': 'xyz'}2.集合分为可变集合(set) 和 不可变集合(frozenset)
2014-11-07 08:46:10 782 1
原创 python核心编程四——序列:字符串,列表,元组
1.序列成员关系操作符 (in, not in)2.序列类型操作符序列操作符 作用seq[ind] 获得下标为ind 的元素seq[ind1:ind2] 获得下标从ind1 到ind2 间的元素集合seq * expr 序列重复expr 次seq1 + seq2 连接序列seq1 和seq2obj in seq 判断obj 元素是否包含在seq 中obj
2014-11-06 22:38:48 718
原创 python基础一
1.输出:>>> print ('Hello World!')2.输入:>>> user = input('Enter login name: ')Enter login name: oyzhx>>> user'oyzhx'3注释:# 从 # 开始,直到一行结束的内容都是注释。4.运算符:+ - * / // % ** >= == !
2014-11-06 11:18:00 635
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人