常用代码

个人经常用到又经常忘记的代码,记录在这里,不用一遍遍的去网上查。

UITableview

刷新
//一个section刷新    
NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];    
[tableview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];    
//一个cell刷新    
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:3 inSection:0];    
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath,nil] withRowAnimation:UITableViewRowAnimationNone]; 
滑动到某个位置
NSIndexPath *scrollIndexPath = [NSIndexPath indexPathForRow:10 inSection:0]; 
[[self tableView] scrollToRowAtIndexPath:scrollIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

UIView

移除
  //移除当前视图子视图
  [self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

坐标转换
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;

// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值

- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;

 

// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect

- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;

// 将rect从view中转换到当前视图中,返回在当前视图中的rect

- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;

 
例把UITableViewCell中的subview(btn)的frame转换到 controllerA中
 
 

// controllerA 中有一个UITableView, UITableView里有多行UITableVieCell,cell上放有一个button

// 在controllerA中实现:

CGRect rc = [cell convertRect:cell.btn.frame toView:self.view];

或

CGRect rc = [self.view convertRect:cell.btn.frame fromView:cell];

// 此rc为btn在controllerA中的rect

 

或当已知btn时:

 

CGRect rc = [btn.superview convertRect:btn.frame toView:self.view];

或

CGRect rc = [self.view convertRect:btn.frame fromView:btn.superview];

UIScrollow

GCD

Message

//延迟函数 终止调用
[self performSelector:@selector(returnTextField1) withObject:nil afterDelay:5]; 
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(returnTextField1) object:nil];

阻止锁屏

[UIApplication sharedApplication].idleTimerDisabled = YES;

设置单个圆角


//可以分别设置四个角

        UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
                                                       byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight
                                                             cornerRadii:CGSizeMake(self.frame.size.width, 30.0)];
        CAShapeLayer *maskLayer = [CAShapeLayer layer];
        maskLayer.frame         = self.bounds;
        maskLayer.path          = maskPath.CGPath;
        self.layer.mask         = maskLayer;

UINavigationController 设置返回按钮标题

    UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                                initWithTitle:@"返回"
                                style:UIBarButtonItemStylePlain
                                target:self
                                action:nil];
    self.navigationController.navigationBar.topItem.backBarButtonItem=btnBack;

你可能感兴趣的:(常用代码)