我一直在研究一个包含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;
}
问题是,一旦我们查看滑出控制器,文本的长度太长而无法显示。它现在看起来像这样:
如果可能的话,我希望能够减少单元格宽度,或者甚至将文本分成两行并使其看起来更像这样:
非常感谢任何有用的建议!
答案 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