iOS 7 でアプリをテストしたところ、"Pull to Refresh" (ODRefreshControl https://github.com/Sephiroth87/ODRefreshControl ) が機能しなくなっていることがわかりました。
スピナーの小さな部分と矢印アイコンを表示するには、スクロールビューを非常に下に引っ張る必要があります。問題は何ですか。iOS 5 と iOS 6 では完璧に動作します!!
iOS 7 でアプリをテストしたところ、"Pull to Refresh" (ODRefreshControl https://github.com/Sephiroth87/ODRefreshControl ) が機能しなくなっていることがわかりました。
スピナーの小さな部分と矢印アイコンを表示するには、スクロールビューを非常に下に引っ張る必要があります。問題は何ですか。iOS 5 と iOS 6 では完璧に動作します!!
iOS7の問題を修正するために、 ODRefreshControl.mに値を 1 つだけ追加しました。アプリごとに価値が少し違うのかもしれません!
前:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"contentInset"])
{
if (!_ignoreInset)
{
self.originalContentInset = [[change objectForKey:@"new"] UIEdgeInsetsValue];
self.frame = CGRectMake(0, -(kTotalViewHeight + self.scrollView.contentInset.top), self.scrollView.frame.size.width, kTotalViewHeight);
}
return;
}
後:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change: (NSDictionary *)change context:(void *)context
{
NSInteger iOS7Value = 60.0f;
if ([keyPath isEqualToString:@"contentInset"])
{
if (!_ignoreInset)
{
self.originalContentInset = [[change objectForKey:@"new"] UIEdgeInsetsValue];
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
self.frame = CGRectMake(0, -(kTotalViewHeight + self.scrollView.contentInset.top) + iOS7Value, self.scrollView.frame.size.width, kTotalViewHeight);
} else {
self.frame = CGRectMake(0, -(kTotalViewHeight + self.scrollView.contentInset.top), self.scrollView.frame.size.width, kTotalViewHeight);
}
}
return;
}