- 浏览: 426815 次
- 性别:
- 来自: 深圳/湛江
最新评论
-
wangyudong:
很多API doc生成工具生成doc需要重度依赖代码里加注解的 ...
[ios]利用xcode自动生成项目文档 -
tiger1819:
有源码么,想学习
[android]仿360状态,类流量监控桌面浮动显示 -
119568242:
借我一双翅膀 写道大哥,求指教啊?
IOS 开发,调用打电话,发短信,打开网址 -
借我一双翅膀:
大哥,求指教啊
IOS 开发,调用打电话,发短信,打开网址 -
li247276297:
楼主 是不是要加个权限?
[android]仿360状态,类流量监控桌面浮动显示
文章列表
简写
OC的语法一直被认为比较麻烦,绝大多数的消息发送都带有很长的函数名。其实这是一把双刃剑,好的方面,它使得代码相当容易阅读,因为几乎所有的方法都是以完整的英语进行描述的,而且如果遵守命名规则的话,参数类型和方法作用也一清二楚,但是不好的方面,它使得coding的时候要多不少不必要的键盘敲击,降低了开发效率。Apple意识到了这一点,在新的LLVM中引入了一系列列规则来简化OC。经过简化后,以降低部分可读性为代价,换来了开发时候稍微快速一些,可以说比较符合现在短开发周期的需要。简化后的OC代码的样子向Perl或者Python这样的快速开发语言靠近了一步,至于实际用起来好不好使, ...
[ios]NSNotification
- 博客分类:
- ios
这是一个观察者模式。
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(receive:) name:nilobject:nil];
name:监听名称为xx的信息 如nil监听所有
object:监听object为xx的信息 如nil监听所有
-(void)receive:(NSNotification*)ns{
NSLog(@"ns.name:%@",ns.name);
NSLog(@"ns.object:%@" ...
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
不需要知道当前持有键盘对象做法。
Grand Central Dispatch =GDC1.有两种,顺序的serial Dispatch Queue 与 并发的Concurrent Dispatch Queue 前者是所有加入这个queue的block会顺序执行,完成一个在开始第二个。既此队列只开一个线程顺序执行。 后者是所有加入这个queue的block会并发执行,第二个的开始与第一个是否结束无关,他会选择最有解决线程创建方案,不会每个block创建一个线程(比如b1,b2,b3当要执行b3的时候,b1执行完了,此时b3会加入b1的线程而不会重新创建)。2.创建方式 dispatch_queue_t x ...
[ios] NSLocale 获取当前语言版本
- 博客分类:
- ios
获取当前手机情况NSLocale
获取当前语言版本:
NSArray *languages = [NSLocalepreferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog ( @"%@" , currentLanguage);
============================================
Chinese(zh-Hans)中文简体 English 英文
======================= ...
[ios]多语言支持
- 博客分类:
- ios
转自:http://blog.csdn.net/songrotek/article/details/8766641
要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。
Step 1:为应用添加多语言版本
这个很简单,在project中info下有localizations,点击+添加所需要的版本,这时会弹出对话框显示要添加语言版本的内容。
这里面包含了storyboard,infoPlis ...
关于重用
为了得到高效的View,对于cell的重用是必须的,避免了不断生成和销毁对象的操作,这与在UITableView中的情况是一致的。但值得注意的时,在UICollectionView中,不仅cell可以重用,Supplementary View和Decoration View也是可以并且应当被重用的。在iOS5中,Apple对UITableView的重用做了简化,以往要写类似这样的代码:
1
2
3
4
5
6
[ios]手势相关+翻页的动画
- 博客分类:
- ios
转自:http://o0o0o0o.iteye.com/blog/875333
tap是指轻触手势。类似鼠标操作的点击。从iOS 3.2版本开始支持完善的手势api:
tap:轻触
long press:在一点上长按
pinch:两个指头捏或者放的操作
pan:手指的拖动
swipe:手指在屏幕上很快的滑动
rotation:手指反向操作
这为开发者编写手势识别操作,提供了很大的方便,想想之前用android写手势滑动的代码(编写android简单的手势切换视图示例),尤其感到幸福。
这里写一个简单的tap操作。在下面视图的蓝色视图内增加对tap的识别:
...
转自:http://witcheryne.iteye.com/blog/1879827
注意:Reachability.h Reachability.m 下载:https://github.com/tonymillion/Reachability/tree/master
[支持arc]
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。
写本文的目的
了解Reachability都能做什么
检测3中网络环境
2G/3G
wi ...
[ios]array深复制
- 博客分类:
- ios
转自:https://github.com/yidaizhenlong/LQRequest/issues/1
NSMutableArray array=[[NSMutableArray alloc] initWithObjects:@"a",@"b", nil];
NSMutableArray *deepCopyArray=[[NSMutableArray alloc] initWithArray: array copyItems: YES];
NSMutableArray trueDeepCopyArray = [NSKeyedUnarchive ...
[ios]ios7 tableViewCell异常
- 博客分类:
- ios
在ios6 正常的tableViewCell在 ios7异常:
原因出自 正确的把自定义的view加载cell上面的方法是通过[自定义view作为contentView的子view]
[cell.contentView addSubView:xx];
如果在ios6正常 ios7异常的
那么有一种可能是因为你在添加自定义的时候使用了:
[self addSubView:xx];
-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] ERROR
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableView ...
CGAffineTransformMake(a,b,c,d,tx,ty)
ad缩放bc旋转tx,ty位移,基础的2D矩阵
CGAffineTransformMakeRotation
ex:
self.bt.transform=CGAffineTransformMakeRotation(3.14/
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
//用于设置sectionIndexTitle
//返回要为一个内容为NSString 的NSArray 里面存放section title;
//默认情况下 section Title根据顺序对应 section 【如果不写tableView: sectionForSectionIndexTitle: atIndex:的话】
NSMutableArray* a=[NSMutableArrayarray];
...
声明方法时:- (id)initWithImageURL:(NSString*)imageURL imageLabel:(NSString*)labelName withBlock:(void (^)(void))NNSBItemPressedBlock
其中(void (^)(void))NNSBItemPressedBlock,第一个void是返回类型,第二个void是传入参数类型
调用方法:NNSBItemPressedBlock();
声明变量时:
void (^_pressedBlock)(void) ;
@property void (^pressedBlock) ...