首页 > 代码库 > 在ios7开发中遇到的一些deprecated的问题

在ios7开发中遇到的一些deprecated的问题

cell.textLabel.textAlignment = UITextAlignmentCenter;

现在要写成cell.textLabel.textAlignment =NSTextAlignmentCenter;


UITableViewCell *cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:nil] autorelease];

需要写成

static NSString *TableSampleIdentifier =@"TableSampleIdentifier";

 UITableViewCell *cell = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleValue1reuseIdentifier:TableSampleIdentifier];


 [selfpresentModalViewController:calendarViewanimated:YES];

改成  [selfpresentViewController:calendarViewanimated:YEScompletion:^{}];

新接口的差别是提供了一个参数,允许你传入一个block。这个block的回调方法在VCviewWillDisappear方法后调用。也就是被隐藏的VC对象被释放后运行回调。

这样做的好处:可以方便做多个UI效果之间的衔接和转换。


在IOS7的PageControl控件

调用[self.subviewsobjectAtIndex:i]

取出的不是UIImageView而是UIView

所以updateDots方法应该这样写:

-(void) updateDots{
    
    for (int i = 0; i < [self.subviews count]; i++) {
        UIView* dotView = [self.subviews objectAtIndex:i];
        
        if ([dotView isKindOfClass:[UIImageView class]]) {
            UIImageView* dot = (UIImageView*)dotView;
            if (i == self.currentPage)
                dot.image = _activeImage;
            else
                dot.image = _inactiveImage;
        }else{
            if (i == self.currentPage)
                [dotView setBackgroundColor:[UIColor colorWithPatternImage:_activeImage]];
            else
                [dotView setBackgroundColor:[UIColor colorWithPatternImage:_inactiveImage]];
        }
       
    }
}

[text drawAtPoint:textPt withFont:[UIFontsystemFontOfSize:14.0f]]

在IOS7中应该写

 #define NLSystemVersionGreaterOrEqualThan(version)  ([[[UIDevice currentDevice] systemVersion] floatValue] >= version)
    #define IOS7_OR_LATER   NLSystemVersionGreaterOrEqualThan(7.0)
    if (IOS7_OR_LATER) {
        UIFont* font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
        font = [font fontWithSize:14.0f];
        [text drawAtPoint:textPt withAttributes:@{NSFontAttributeName:font}];
    }else {
        [text drawAtPoint:textPt withFont:[UIFont systemFontOfSize:14.0f]];
    }