将attributesTitle添加到UIRefreshControl时出现问题

时间:2013-10-04 15:15:44

标签: uitableview ios7 uirefreshcontrol

好的,我有一个应用程序,我正在尝试在iOS 7中工作。有一个简单的UITableViewController。我想在表格中添加一个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中,在我看到UIRefreshControl之前,我必须拉下100多个像素。此外,在发生这种情况之后,我注意到我可以拉下桌子,它会粘在那里,好像有一个大的白色牢房高于其他所有。

但是,如果我没有设置attributionTitle,那么这可以正常工作。

我附上了我的观点的部分图片。你会看到UIRefreshControl,从顶部向下一英寸。 “未指定”是我表格中的第一个单元格。enter image description here

1 个答案:

答案 0 :(得分:4)

这对我有用:

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

self.refreshControl = refreshControl;