2013-11-07 3 views
4

Я экспериментирую с введением UITableView в RightViewController первого примера, расположенного по адресу https://github.com/John-Lluch/SWRevealViewController/tree/master/RevealControllerExample.Меню правой стороны SWRevealViewController

Проблема в том, что таблица выровнена далеко слева, а текст в каждой ячейке отсечен.

Каковы возможные исправления для этого? Я просмотрел SWRevealViewController api и не смог найти решение. Кроме того, я просмотрел UITableView api и попробовал каждый из возможных настроек выравнивания, также в построителе xib. Нет, похоже, изменение обрезания текста

Я добавил изображение ниже. Обратите внимание на выровненную слева таблицу.

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

+0

Привет, вы можете взглянуть на [эту тему] (http://stackoverflow.com/questions/24517100/swrevealviewcontroller-rightviewcontroller) – Uma

ответ

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; 
} 
+0

Привет .. Я видел ваше активное участие в SWRevealViewController.i получил проблему При использовании SWRevealViewController . Вы можете пройти через этот url.http: // stackoverflow.com/questions/25987486/app-login-issue-using-swrevealviewcontroller. Пожалуйста, расскажите мне, как решить эту проблему? –

10

правопреемником 0 до _rightViewRevealOverdraw свойство SWRevealViewController используя ниже линии

self.revealViewController.rightViewRevealOverdraw = 0.0f;

Или

в SWRevealViewController.m поиска файлов для линии

_rightViewRevealOverdraw = 60.0f; 

и изменить его, как

_rightViewRevealOverdraw = 0.0f; 

Это будет исправить вашу проблему.

Более совершенное решение заключается в том, чтобы писать ниже одной строки в контроллере вместо библиотеки.

self.revealViewController.rightViewRevealOverdraw = 0.0f; 
+0

Казалось, это сработало. Хотя я немного обеспокоен тем, что эти ценности в настоящее время делают и как они влияют на представление. –

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]; 
0

Поскольку по умолчанию _rightViewRevealOverdraw является 60.0f, вы могли бы использовать AutoLayout сделать Tableview оснастки для всех краев вашего ViewController для Leading Space Margin из 60 кроме.

Это позволило бы эффективно отобразить таблицу с рамкой (60.0, 0, view.frame.size.width - 60.0, view.frame.size.height), позволяя ей пересекать только видимую область.

Смежные вопросы