UIRefreshControl 引っ張って更新するコントロールですね。
簡単に実装できるんですが1つ困ったことがあります。
このコントロールはScrollViewのSubViewとして登録して使うのですが、ピンチして広げることのできるWebViewのScrollViewに追加しちゃうと、ピンチしたときそのViewのセンターに表示するため移動して見えなくなってしまいます。
ピンチしても移動しないように、サブクラス化して表示位置を再計算させます。
- (void)layoutSubviews { // ピンチしてもクルクルがセンターに来るように調整 if ([self.superview isKindOfClass:[UIScrollView class]]) { UIScrollView *scrollView = (id)self.superview; CGRect frame = self.frame; frame.origin.x = [scrollView contentOffset].x; self.frame = frame; } }
こんな感じですね。
Comments