首页 > 代码库 > 在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的回调方法在VC的viewWillDisappear方法后调用。也就是被隐藏的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]]; }