
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