我在.XB中做了一个简单的表视图。我想扩展所有屏幕大小(如iphone 6、6plus和ipad)的表格视图单元格。目前,我已经对不同屏幕的不同高度进行了硬编码,如下所示:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:       (NSIndexPath *)indexPath{

   CGFloat cellHeight = 0;

    if (IS_IPHONE_6P) {

    // iphone 6P
   // cellHeight = 133;
    cellHeight = 175;


    }
    else if (IS_IPHONE_6){
    // on iphone 6
   // cellHeight =  120;
    cellHeight =  160;

    }

    else if (IS_IPHONE_5){
    //On iphone 5
   // cellHeight =  105;
    cellHeight =  145;

    }

    else if (IS_IPHONE_4_OR_LESS){
    //  on iphone 4
   // cellHeight =  50;
    cellHeight =  130;

    }
   else {
    //on ipad
   // cellHeight =  200;
    cellHeight =  280;

    }


   //  cellHeight = cellHeight *2;

     return  cellHeight;

     }

我有更好的办法吗?

最佳答案

一个可能的解决办法是得到屏幕的高度,然后乘以你的比率系数。

return CGRectGetHeight([UIScreen mainScreen].bounds) * ratio;

10-08 05:26