在表格視圖中有很多行,當我點擊任何表格視圖行時,它會像上面的例子一樣展開。 如何在單擊特定的UITableView行後顯示WebView數據?
所以,通過這種方式我想顯示一些其他數據,我不想導航到下一個視圖。
這裏的另一點是,當它展開後點擊特定的行,然後在這裏我想顯示Web視圖。在我的項目中,一些數據是消息的一些文本行,或者可能是一個網頁。 因此,它也必須顯示網頁視圖,它必須根據數據或網頁內容動態調整tableview單元格。
像這樣,如果點擊任何單元格,它必須展開並顯示網頁視圖。即使有時它不包含任何網絡數據可能包含一些信息,那麼它必須顯示網絡視圖。
這是我目前的項目示例。我按照以下方式顯示數據/信息。 這裏是我的表格視圖(見圖1),點擊行後會顯示一個像這樣的彈出窗口(見圖2) - 它包含一些如此顯示的消息,圖像3 - 它包含web數據/ webview。
這裏是我的didSelectRowAtIndexPath方法方法,
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSDictionary *finaldic=[mutableArray objectAtIndex:indexPath.row];
[self showWebview:@"" body:[finaldic objectForKey:@"body"] popupStyle:CNPPopupStyleActionSheet];
}
和方法的WebView,
-(void)showWebview:(NSString*)tittle body:(NSString*)body popupStyle:(CNPPopupStyle)popupStyle{
NSMutableParagraphStyle *paragraphStyle = NSMutableParagraphStyle.new;
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
paragraphStyle.alignment = NSTextAlignmentCenter;
NSAttributedString *title = [[NSAttributedString alloc] initWithString:tittle attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:14], NSParagraphStyleAttributeName : paragraphStyle}];
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.numberOfLines = 0;
titleLabel.attributedText = title;
// UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 40)];
// customView.backgroundColor = [UIColor hx_colorWithHexString:@"#00aeef"];
// [customView addSubview:titleLabel];
UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width,self.view.frame.size.height/2)];
// webview.scalesPageToFit = YES;
webview.autoresizesSubviews = YES;
//webview.delegate=self;
webview.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
NSRange range = [body rangeOfString:@"<body"];
if(range.location != NSNotFound) {
// Adjust style for mobile
float inset = 40;
NSString *style = [NSString stringWithFormat:@"<style>div {max-width: %fpx;}</style>", self.view.bounds.size.width - inset];
body = [NSString stringWithFormat:@"%@%@%@", [body substringToIndex:range.location], style, [body substringFromIndex:range.location]];
}
[webview loadHTMLString:body baseURL:nil];
self.popupController = [[CNPPopupController alloc] initWithContents:@[titleLabel,webview]];
self.popupController.theme = [CNPPopupTheme defaultTheme];
self.popupController.theme.popupStyle = popupStyle;
self.popupController.delegate = self;
[self.popupController presentPopupControllerAnimated:YES];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
}
-(void)webViewDidStartLoad:(UIWebView *)webView{
}
你使用的是目標c還是swift? –
添加您的嘗試代碼。 –
@ R.Mohan這是Objective c的代碼。 –