0

我一直在开发一个包含 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;
}

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

在此处输入图像描述

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

在此处输入图像描述

任何有用的建议将不胜感激!

4

2 回答 2

1

我最近遇到了完全相同的情况(尽管我使用的是ViewDeck而不是 EDSlidingViewController)。

我的解决方案是更改整个 UITableView 的宽度,而不是将其嵌入另一个 UIView ...

于 2013-05-15T16:11:38.333 回答
0

如果您使用的是ECSlidingViewController版本 2 (iOS 7+),您可以通过edgesForExtendedLayout在控制器上设置您不想隐藏的设置来做到这一点。

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

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

GitHub还有更多示例: https ://github.com/ECSlidingViewController/ECSlidingViewController/tree/master/Examples/LayoutDemo

于 2014-08-21T00:59:03.543 回答