2013-10-04 3 views
4

ОК, у меня есть приложение, которое я пытаюсь получить для работы в iOS 7. Существует простой UITableViewController. Я хотел бы добавить UIRefreshControl в таблицу.проблема с добавлением атрибутаTitle к UIRefreshControl

Если я добавлю его, без какого-либо названия, тогда я могу снести свой стол, я вижу, что управление, оно вращается, все отлично работает.

Но я хочу добавить заголовок к элементу управления и сделать его центрированным. Поэтому я сделал это:

self.refreshControl = [UIRefreshControl new]; 
[self.refreshControl addTarget:self action:@selector(doRefresh) forControlEvents:UIControlEventValueChanged]; 
NSMutableParagraphStyle* paragraphStyle = [NSMutableParagraphStyle new]; 
paragraphStyle.alignment = NSTextAlignmentCenter; 
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to refresh" attributes:@{NSParagraphStyleAttributeName : paragraphStyle}]; 

Это отлично работало в iOS6. Но в ios7 мне приходится снимать более 100 пикселей, прежде чем я увижу UIRefreshControl вообще. Кроме того, после этого я заметил, что могу вытащить стол, и он прилипает там, как будто большая, белая клетка выше всех остальных.

Но опять же, это работает как ожидается, если я не установлю атрибут Title.

У меня есть частичная фотография моего представления. Вы увидите UIRefreshControl, на дюйм сверху вниз. «Unspecified» - первая ячейка в моей таблице. enter image description here

ответ

4

Это работает для меня:

UIRefreshControl *refreshControl = [UIRefreshControl new]; 
refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to refresh" attributes:@{NSParagraphStyleAttributeName : paragraphStyle}]; 

self.refreshControl = refreshControl; 
+0

уход, чтобы показать, что вы используете для "paragraphStyle"? –

+2

Мне пришлось установить self.refreshControl после добавления атрибутаTitle. – Tony

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