如何在ios 5,6,7和8中处理分隔符插入

时间:2014-12-26 08:37:40

标签: uitableview ios7 ios5 ios6

从现在开始,我使用自定义图像作为新类中的分隔符。 但是有很多地方我使用默认的UITableView分隔符。 在ios 8上,我使用了以下代码来成功处理。

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
// Remove seperator inset
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {//it handles only in ios 7
    [cell setSeparatorInset:UIEdgeInsetsZero];
}

// Prevent the cell from inheriting the Table View's margin settings
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
    [cell setPreservesSuperviewLayoutMargins:NO];
}

// Explictly set your cell's layout margins
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
    [cell setLayoutMargins:UIEdgeInsetsZero];
}
}

但我在iOS 6和7上遇到编译时错误(没有选择器找到setPreservesSuperviewLayoutMargins),显然会在iOS 5上出现此错误。 我想

if ([cell respondsToSelector:@selector(setLayoutMargins:)])

将处理此方案。但它失败

那么我如何进行检查,以便在版本5,6和7中跳过代码setPreservesSuperviewLayoutMargins和setLayoutMargins。

感谢

0 个答案:

没有答案