OC中的细节

  • 当tableView不显示数据的时候,一定要先去检查下是不是数据源(即那个可变数组是不是没有初始化)。
  • 横竖屏

    1
    2
    3
    4
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    }
  • auto layout下,cell不等高的问题
    首先autolayout下的约束必须是完全正确的,合理的,也就是说不能出现警告,当然更不能出现错误啦。在- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    这个方法下加上下面必要的代码:

    1
    2
    3
    4
    5
    6
    7
    objDic=[[_datas objectForKey:[self.sections objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
    tagDesc.text = [objDic objectForKey:@"title"];
    tagDesc.preferredMaxLayoutWidth = SCREEN_WIDTH - 20;
    CGSize size = [_prototypeCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
    height = 1 + size.height;
  • 去掉tableView中多余的空行的分割线

    1
    self.tableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];