Отображение индекса UItableView слева от таблицы, а не справа - PullRequest
1 голос
/ 01 апреля 2011

Я использую Indexed UITableView, реализовав следующие методы делегата:

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 

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

Спасибо,

Ответы [ 4 ]

3 голосов
/ 22 марта 2013

Вы можете переместить индексное представление tableView влево, но чуть-чуть, чтобы ваше приложение не отклонялось)). Вот как:

// somewhere in your code for example in table view delegate method add this code
// take the index view, which is the last subview on the tableView
UIView *indexView = [[self.tableView subviews]lastObject];

// now take its frame and play with it
CGRect indexViewRect = indexView.frame;
indexViewRect.origin.x -= 50;      // move it to the left by -50
indexView.frame = indexViewRect;   // set the new frame 

Вот так :) 1004 *

Между прочим, я не думаю, что Apple отклонит ваше приложение, если вы переместите представление индекса в крайнее левое положение, потому что я видел это в приложении контактов на iPad, но в любом случае на ваш риск.

Обновление: полностью настраиваемый и простой в использовании ScrollBar вы можете найти здесь: https://github.com/BasheerSience/BRScrollBar

2 голосов
/ 01 апреля 2011

Нет, стиль и позиция этого индекса не настраиваются (к сожалению).

1 голос
/ 01 апреля 2011

Даже официально API-интерфейсам iOS не предоставляется, должно иметь возможность перемещать индекс, немного "взломав".

Сначала необходимо найти индекс в UITableView.Дерево подпредставлений.Один из простых способов сделать это - установить точку останова во время выполнения и использовать это:

 po [myTableView recursiveDescription]

Это распечатает дерево представлений и, проанализировав его, вы должны найти способ программно найти интересующий вас UIViewпросто переместите его (view.frame.origin) и без использования какого-либо частного API

Но прежде чем пытаться это сделать, подумайте дважды.Этот указатель находится на правой стороне по уважительной причине, большинство людей правой рукой с большим пальцем на правой стороне ... Было бы трудно использовать на другой стороне.

1 голос
/ 01 апреля 2011

Я не думаю, что API выставляет этот компонент. К сожалению, вам придется подавлять ротацию и держать телефон вверх дном, и это будет очень плохо для пользователя. (Просто шутка, не отрицайте меня)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...