调整表格/单元格宽度

时间:2013-05-15 15:52:26

标签: ios uitableview ecslidingviewcontroller

我一直在研究一个包含ECSlidingViewController项目的应用程序,它为我提供了一个可以从左侧滑入的导航。导航链接位于NSArray中,并使用以下代码动态显示到UITable中:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifier = @"MenuItemCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
            cell.contentView.backgroundColor=[UIColor blueColor];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
    }

    cell.textLabel.text = [self.menuItems objectAtIndex:indexPath.row];

    return cell;
}

问题是,一旦我们查看滑出控制器,文本的长度太长而无法显示。它现在看起来像这样:

enter image description here

如果可能的话,我希望能够减少单元格宽度,或者甚至将文本分成两行并使其看起来更像这样:

enter image description here

非常感谢任何有用的建议!

2 个答案:

答案 0 :(得分:1)

我最近有完全相同的情况(虽然我使用ViewDeck而不是EDSlidingViewController)。

我的解决方案是通过将其嵌入到另一个UIView中来改变整个UITableView的宽度......

答案 1 :(得分:0)

如果您使用的是ECSlidingViewController版本2(iOS 7+),则可以通过在控制器上设置您不想隐藏的edgesForExtendedLayout来完成此操作。

例如,如果您想从左侧显示整个控制器:

- (void)viewDidLoad {
    self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeBottom | UIRectEdgeLeft;
}

还有一个GitHub的例子: https://github.com/ECSlidingViewController/ECSlidingViewController/tree/master/Examples/LayoutDemo