【问题标题】:Objective-C UIWebview and UITableView scroll heightObjective-C UIWebview 和 UITableView 滚动高度
【发布时间】:2015-01-14 07:41:17
【问题描述】:

在我的应用程序中使用 UIWebView 和 UITableView 时遇到问题。我不明白为什么我无法在列表底部滚动:滚动到底部总是缺少几个点(看看下面的模型)。

在我的所有屏幕中,我在顶部都有一个固定标签,在下面有一个 UIScrollView 或 UIWebView 或 UITableView 我认为这可能是问题的根源。我尝试更新视图高度或滚动高度,但它不起作用...

我制作了一个模型来向您展示我的应用程序屏幕的样子:http://i.imgur.com/mTWsdOU.jpg 如您所见,文本在底部被截断,因为我无法滚动到底部...

任何人的帮助将不胜感激。提前致谢!

在视图中滚动有效,但它不能让我完全向下滚动...

这是我的代码示例:

#import "Constants.h"

@implementation ContentController {

- (void)viewDidLoad {

   [super viewDidLoad];

   self.windowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
   self.windowView.backgroundColor = [UIColor whiteColor];


   // Bandeau titre

   UILabel* titre =[[UILabel alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 50)];
   titre.font = FONT_RALEWAY_BOLD(18);
   titre.backgroundColor = MAIN_BLUE;
   titre.textColor = [UIColor whiteColor];
   titre.textAlignment = NSTextAlignmentCenter;
   titre.text = @"Test";

   [self.windowView addSubview:titre];

   [self createWebViewWithHTML];
   self.webView.delegate = self;

   [self.windowView addSubview:self.webView];

   self.view = self.windowView;

}


- (void) createWebViewWithHTML{
     NSMutableString *html = [NSMutableString stringWithString: @"<html><head><title></title></head><body style=\"background:transparent; padding:0px; margin:15px 15px;\">"];

    [html appendString: content];

    [html appendString:@"</body></html>"];

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 50, SCREEN_WIDTH, SCREEN_HEIGHT)];

    [self.webView setBackgroundColor:[UIColor clearColor]];

    NSString *path = [documentsDirectory stringByAppendingString:@APP_IMAGES_DIR];
    NSURL *baseURL = [NSURL fileURLWithPath:path];

    [self.webView loadHTMLString:html baseURL:baseURL];
}

【问题讨论】:

  • 没有太多信息可以调试...检查scrollView内容大小;尝试设置 self.navigationController.navigationBar.translucent = NO;在 viewDidLoad
  • 我认为您的 tableview 或 webview 的高度超过了框架高度,因此它无法滚动。尝试降低表格视图的高度...通过情节提要或笔尖将视图的高度与窗口对齐。
  • «重要提示:您不应该在 UIScrollView 对象中嵌入 UIWebView 或 UITableView 对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆并错误处理。»作为 UITableView ← UIScrollView,这里适用。 developer.apple.com/library/ios/documentation/UIKit/Reference/…
  • 我没有使用故事板。我的 UIWebView 被实现为不在 UIScrollView 中的 UIView。我也尝试增加我的 windowView 高度以匹配 UIWebView 但没有成功......
  • 你有没有降低 webview 的高度?

标签: ios objective-c uitableview uiwebview scroll


【解决方案1】:

如果您尚未设置 scrollEnabled,则必须将其设置为 YES。

并设置内容大小。请记住,内容大小高度应大于框架高度。

如果您可以粘贴代码,这将有助于给出更具体的答案

【讨论】:

    【解决方案2】:

    解决方案很简单...如果导航栏下有固定内容,只需降低 UIWebView 或 UITableView 的高度即可。

    对于 UIWebView:

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 50, SCREEN_WIDTH, SCREEN_HEIGHT-(self.navigationController.navigationBar.frame.size.height + 50))];
    

    对于 UITableView:

    self.tabView = [[UITableView alloc] initWithFrame:CGRectMake(0, 50, SCREEN_WIDTH, SCREEN_HEIGHT-(self.navigationController.navigationBar.frame.size.height + 50))];
    

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 2014-01-21
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 2015-04-07
      • 1970-01-01
      相关资源
      最近更新 更多