1:
[pan requireGestureRecognizerToFail:recognizer];
pan手势执行的条件是手势recognizer执行失败的时候.
2:设置navigationbar上的各种属性
改变字体颜色
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextColor, [UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextShadowColor, [NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset, [UIFont fontWithName:@"Arial-Bold" size:0.0], UITextAttributeFont,nil]]; //其中 UITextAttributeTextColor和UITextAttributeFont 属性是文字颜色和字体改变左右button 其中左右 button为自己随意定义的button
UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:button]; UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:button2]; [self.navigationItem setLeftBarButtonItem:leftItem]; [self.navigationItem setRightBarButtonItem:rightItem];
3:将一个视图中的某一子视图移动至视图的最上方
- (void)bringSubviewToFront:(UIView *)view
4:子线程中如果没有开启runloop,在子线程中设定NSTimer,只会执行一次.因为子线程的runloop没有打开.
在子线程的事件监听包括通知,按钮点击,也不执行
5三种拼接字符串的方式
NSString* string; // 结果字符串
NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来
//方法1.
string = [NSString initWithFormat:@"%@,%@", string1, string2 ];
//方法2.
string = [string1 stringByAppendingString:string2];
//方法3 .
string = [string stringByAppendingFormat:@"%@,%@",string1, string2];
6:[super init];
父类中定义的变量通过向super请求初始化方法来得到初始化.向super请求初始化方法的消息链连接起了所有继承树上的对象,父类中的变量会比子类中的变量优先初始化.
7:kvc 就是一种通过字符串去间接操作对象属性的机制。
8:实例变量的声明是在@interface{…}中,类变量声明是在模块使用static关键字,实例方法的声明是用"-",类方法的声明"+"。
9:全局变量和静态局部变量都是以静态存储方式存储的,但全局变量的作用域是从定义开始到文件结束,在作用域内的所有函数都是可见的,也就是说对作用域内的所有函数都可以使用,而静态局部变量虽然也是以静态存储方式存储,但它的作用域只限定于定义的函数,对其它函数来说是不可见的,因而也不能使用。