OK、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 ピクセル以上プルダウンする必要があります。また、これが起こった後、テーブルを引き下げることができることに気付きました。他のすべての上に大きな白いセルがあるかのように、そこにくっつきます。
ただし、attributedTitle を設定しなければ、これは期待どおりに機能します。
ビューの部分的な写真を添付しています。上から 1 インチ下に UIRefreshControl が表示されます。「未指定」はテーブルの最初のセルです。