0

我在 uitableview 单元格中有一个 webview。问题是web视图只占了uitableview单元格的75%

我不确定 iOS 是如何决定 web 视图的高度的,因为我似乎无法增加它需要多少空间。我可以增加或降低表格视图单元格的高度,但网络视图不会增加。

我想我需要做的一件事是根据文本的大小以某种方式获取 Web 视图本身的高度,以便它可以自动缩放 tableview 单元格的大小。

a)我不确定是什么函数检索它

b)我认为这会进入(void)webViewDidFinishLoad:(UIWebView *)webView方法,但我无法让应用程序进入该功能。我试过调试器,它似乎根本不进去。(网络视图对象在它自己的控制器中)

#import "WebViewCell.h"

NSUInteger const WEB_VIEW_ROW_HEIGHT = 75;

@implementation WebViewCell

@synthesize webView;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
 self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
    // Initialization code
}
return self;
}

  - (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
  [super setSelected:selected animated:animated];

// Configure the view for the selected state
}

 @end

并在实际使用 Web 视图填充 tableview 单元格的控制器中:

  WebViewCell *cell = [[ViewManager instance] loadWebViewCell:self.tableView cellID:eventDetailsValueCellID];

        NSString *htmlText = [news valueForKey:propertyName];


        [cell.webView loadHTMLString:htmlText baseURL:nil];


        return cell;

我不确定在哪里放置(void)webViewDidFinishLoad:(UIWebView *)webView这个设置的方法。它是否进入 WebViewCell.m 或调用 WebViewCell.m 的控制器

另外,根本问题是如何使 web 视图缩放到单元格的大小?

4

1 回答 1

1

(void)webViewDidFinishLoad:(UIWebView *)webView需要由UIWebViewDelegate实现

尝试添加cell.webView.delegate = selfcellForRowAtIndexPath 方法,并将委托协议“UIWebViewDelegate”添加到控制器的头文件中。

这至少应该让您的(void)webViewDidFinishLoad:(UIWebView *)webView呼叫触发允许您在 Web 视图加载后进行高度计算。

计算可能看起来像:

webView.frame = CGRectMake(0, 0, webView.superview.frame.size.width, webView.superview.frame.size.height);
于 2012-04-25T17:14:16.487 回答