I love iPhone, Android, Cocos2d-x
[iPhone] UITableViewCell からリンククリックで UIWebView を表示する方法
スタンフォード大の iPhone Application Programming Lecture 16 で紹介されていた、テーブルのセル内に URL のリンクを入れて、リンクをタップした時に UIWebView に表示する方法です。
セルに UIWebView を入れてその view に HTML でリンクを表示、UIWebView のデリゲートを設定しておき、リンククリック時には Web を表示するコントローラ(ここでは WebViewController )に URL を設定します。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
// Set up the cell...
NSString *string = @"Go to CS193p website";
CGRect frame = cell.contentView.bounds;
frame = CGRectInset(frame, 10, 1);
UIWebView *webView = [[UIWebView alloc] initWithFrame:frame];
[webView loadHTMLString:string baseURL:nil];
webView.delegate = self;
[cell.contentView addSubview:webView];
return cell;
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked)
{
WebViewController *webController = [[WebViewController alloc] init];
webController.url = request.URL;
[self.navigationController pushViewController:webController animated:YES];
[webController release];
return NO;
}
return YES;
}
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
1cumulative…
…