如题,iPad方向切换时,视图控件等的坐标和尺寸需要手动编码调整吗,有没有统一处理的方法?我使用分割视图,竖屏时详细视图的宽度有748宽,但横排时则不足748,在切换方向时,如果需要对视图中的各个控件重新设定坐标个大小工作量很大。不知道iOS是否支持按比例自动收放或类似的功能呢?谢谢大家! 

解决方案 »

  1.   

    ios6支持auto Layout......... 以前的做法就是定义宏 然后在翻转里面实现具体不同的排版.....
      

  2.   

    这里我给出一个简单的计算高度的方法#define FONT_SIZE       15.0f#define VIEW_WIDTH      296.0f
    -(CGFloat)getHeight:(NSString *) str{    UIFont *font = [UIFontsystemFontOfSize:FONT_SIZE];          CGSize size = [strsizeWithFont:font constrainedToSize:CGSizeMake(VIEW_WIDTH,VIEW_WIDTH * 3)lineBreakMode:UILineBreakModeWordWrap];      //这里的10为字符的上下边距,可以自行设计    return size.height+10;}
    例如在标示图中就可以这样来实现- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {           // NSInteger row = [indexPath row];            //NSDictionary *tmpDict = [helpDataArray objectAtIndex:row];            //int height = [self getCellHeight:[tmpDict objectForKey:@"Content"]];            //这3行为我自己代码中的代码           一般就这样写:            int height = [self getCellHeight:@"your str"];            return height > DEFUALT_CELL_HEIGHT ? height + MARGIN_CELL_TOP : DEFUALT_CELL_HEIGHT + MARGIN_CELL_TOP;//常量根据自己情况定义即可        }    }    return DEFUALT_CELL_HEIGHT;}
      

  3.   


    如果只用ios6就可以用系统自带的auto Layout......... 一般应该不会只这样做....
      

  4.   


    感谢您给我的提示,看来要衡量写是否使用iOS6了。因为这样计算会增加不少复杂度,而且界面控件比较多时候,可能会不好控制啊。再次感谢kuqideyupian的知道。iOS6是要xcode多少版才能使用呀?
      

  5.   


    嘻嘻 不客气.....你更新到最新版本就可以了.....我的4.6....跟同事同步....没办法被逼升到了最新,然后被这个新特性坑了一把. 我同事用xib 在我自己的真机上怎么运行都崩溃....我自己的界面就没问题......各有利弊, 嘻嘻 希望能帮到你......
      

  6.   


    我用的是黑苹果,所以不知道能不能升上去,先学习一下这个auto layout吧。再次感激您。这个问题困扰了一段时间,一直没有继续开发下去。