UIWebView の iOS 5 で「プルして更新」するにはどうすればよいですか? チュートリアルが見つかりません。
タブ バー アプリケーションに WebView があり、Twitter のような "プルして更新" で WebView を更新したいと考えています。
完全なチュートリアルはどこにありますか?
ありがとうございました
UIWebView の iOS 5 で「プルして更新」するにはどうすればよいですか? チュートリアルが見つかりません。
タブ バー アプリケーションに WebView があり、Twitter のような "プルして更新" で WebView を更新したいと考えています。
完全なチュートリアルはどこにありますか?
ありがとうございました
チュートリアルを提供することはできません。おそらく作成しますが、非常に簡単だったと思います。これは、SPPullView を少し変更したものです。
ここで、ファイル (SPPullView.m および SPPullView.h) を取得できます。
メイン UIViewController の関連コードは次のようなものです。
- (void)viewDidLoad
{
[super viewDidLoad];
self.pullView = [[SPPullView alloc] initWithScrollView:self.webView.scrollView];
[self.pullView setDelegate:self];
[self.webView.scrollView addSubview:self.pullView];
[self.webView.scrollView setDelegate:self];
for (UIView *subview in [self.webView.scrollView subviews] ) {
subview.userInteractionEnabled = NO; // used to disable copy/paste, etc inside the webview
}
//[self doYourStuff];
}
//Called when the user pulls to refresh (this is when you should update your data)
- (void) pullViewShouldRefresh: (SPPullView *) view {
[self updateYourStuff];
}
また、ロジックやプロパティを追加して、ユーザーのズームを防止したり、ズーム中にプル ビューを一時的に無効にしたりすることもできます。
私はこのコードを書きましたが、正常に動作しています。これはあなたを助けるかもしれません。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *fullURL = URL you want to hit;
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObject = [NSURLRequest requestWithURL:url];
webView.delegate = (id)self;
[webView loadRequest:requestObject];
UIRefreshControl *refreshControlOnPull = [[UIRefreshControl alloc] init];
[refreshControlOnPull addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
[webView.scrollView refreshControlOnPull]; //<- this is point to use. Add "scrollView" property.
}
-(void)handleRefresh:(UIRefreshControl *)refresh {
// Reload my data
NSString *fullURL = The Url you want to hit;
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObject = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObject];
[refresh endRefreshing];
}