|  
 
 
:targetRect.frame inView:self.view permittedArrowDirecti*****:UIPopoverArrowDirectionAny animated:YES];  }  (十三)UIColor colorWithRed:green:blue:alpha:这个方法的参数必须用浮点型。  假如使用Xcode自带的取颜色的工具,取到的RGB值分别为:25,25,25,  传给上述方法的参数应为25/255.0或25.0/255。如果用整型25/255,经过取整,小数部分没有了,显示出来的颜色和取到的是不一样的。可以定义一个宏:  #define RGB(A,B,C) [UIColor colorWithRed:A/255.0 green:B/255.0 blue:C/255.0 alpha:1.0]  然后用RGB(25,25,25)就可以了 
(十四)禁止textField和textView的复制粘贴菜单:  -(BOOL)canPerformAction:(SEL)action withSender:(id)sender  {       if ([UIMenuController sharedMenuController]) {         [UIMenuController sharedMenuController].menuVisible = NO;       }       return NO;  }  
(十五)时间相关  NSDate需要设置calendar,使用不方便也因为服务器传过来的是time_t格式,所以我在客户端对时间的操作主要用的C语言的方法。  需要注意的是,有的函数不是线程安全的,也就是说在同一个范围内调用多次时,需要调用线程安全的版本,这样的函数有:  localtime_r  asctime_r  ctime_r  gmtime_r  localtime_r  另外,可以直接给struct tm各成员变量赋值,例如(注意顺序)  struct tm tmStart = {second,minute,hour,day, mon, year};  struct tm的各成员是不能的加减的,因为超过了各变量的范围,可能出错,需要先转成time_t,再加减相应的时间 
(十六) 如果重载loadView,一定要在这个方法里产生一个self.view。可以调用[super loadView],也可以使用alloc+init。  错误情况举例:loadView 直接调用self.view.alpha = 0.5; 因为self.view为nil,self.view.alpha这句又会调用loadView,也就是loadView不断调用loadView,进入了死循环     (十七)GestureRecognizer相关  
1.一个View有GestureRecognizer又有按钮(或其它需要处理action event的控件)时,有时按钮不灵敏,解决办法:  -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch  {       CGPoint pt      = [touch locationInView:baseView];       UIView *btn     = [baseView viewWithTag:TAG_MYBTN];       CGPoint ptInbtn = [baseView convertPoint:pt toView:btn];       return ![btn pointInside:ptInbtn withEvent:nil];  }     2. 上一页  [1] [2] [3] [4] [5] [6] 下一页  
 |