SWRevealViewController右侧菜单

时间:2013-11-07 18:27:26

标签: ios objective-c uitableview

我正在尝试将UITableView插入位于https://github.com/John-Lluch/SWRevealViewController/tree/master/RevealControllerExample的第一个示例的RightViewController。

问题是表格左对齐,每个单元格中的文本都是截止的。

对此有哪些可能的解决方法?我查看了SWRevealViewController api并找不到解决方案。此外,我查看了UITableView api并尝试了每个可能的对齐设置,也在xib构建器中。似乎没有人改变文本的截止值

我附上了下面的图片。注意左对齐的表。

right side controller http://www.jeffcoat.net/rightsidecontroller.png

4 个答案:

答案 0 :(得分:12)

使用下面的行为SWRevealViewController的_rightViewRevealOverdraw属性赋值0

self.revealViewController.rightViewRevealOverdraw = 0.0f;

或者

SWRevealViewController.m文件中搜索行

_rightViewRevealOverdraw = 60.0f;

并将其更改为

_rightViewRevealOverdraw = 0.0f;

这将解决您的问题。

更多改进的解决方案是在控制器而不是库中写下单行。

  self.revealViewController.rightViewRevealOverdraw = 0.0f;

答案 1 :(得分:8)

  

在SWRevealViewController.m文件中搜索行   _rightViewRevealOverdraw = 60.0f;并将其更改为_rightViewRevealOverdraw = 0.0f;

上面给出的Amit Saxenas答案对我有帮助,但是该类的头文件不是修改SWRevealViewController.m,而是声明一个可以设置为更改rightViewRevealOverdraw的公共属性。

self.revealViewController.rightViewRevealOverdraw = 0.0f;
[self.revealButtonItem setTarget:self.revealViewController];
[self.revealButtonItem setAction:@selector( rightRevealToggle: )];
[self.navigationController.navigationBar addGestureRecognizer:self.revealViewController.panGestureRecognizer];

答案 2 :(得分:0)

借助于 Center Align text in UITableViewCell problem 修改为右而不是中心我能够使菜单对齐到右边,最终的代码在下面。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:    (NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    NSInteger row = indexPath.row;

if (nil == cell)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault     reuseIdentifier:cellIdentifier];

    cell.textLabel.textAlignment = NSTextAlignmentRight;
}


return cell;
}

答案 3 :(得分:0)

由于默认_rightViewRevealOverdraw60.0f,因此您可以使用AutoLayout将tableView捕捉到ViewController的所有边缘,但Leading Space Margin 60除外。

这将有效地为tableView提供(60.0, 0, view.frame.size.width - 60.0, view.frame.size.height)的框架,允许它跨越可见区域。