iOS开发过程中遇到的问题和解决方法

2017-08-24  本文已影响169人  jane4321

按理说这种页面应该直接写成h5页面的,但是我们前端紧张所以用这种布局方式展示。这里就会遇到一个问题,怎么设置webview的高度正好和内容的高度一样。这里用到一个UIWebView的代理 - (void)webViewDidFinishLoad:(UIWebView*)webView
在这个方法中获取 webview的contentSize (webView中其实包含一个scrollView)
[self.webView.scrollView contentSize].height,就可以获取高度。

// 获取子视图
- (void)getSub:(UIView *)view andLevel:(int)level {
    NSArray *subviews = [view subviews];
    if ([subviews count] == 0) return;
    for (UIView *subview in subviews) {
        
        NSString *blank = @"";
        for (int i = 1; i < level; i++) {
            blank = [NSString stringWithFormat:@"  %@", blank];
        }
        NSLog(@"%@%d: %@", blank, level, subview.class);
        [self getSub:subview andLevel:(level+1)];
        
    }
}

例如打印导航栏的子视图

[self getSub:self.navigationController.navigationBar andLevel:1];
UINavigationController *nav =  (UINavigationController*)self.window.rootViewController;
UIViewController *currentVC = nav.visibleViewController;

2、如果是用UITabBarController来组织页面结构的话

UINavigationController *nav = ((UITabBarController*)appDelegate.window.rootViewController);
UIViewController *currentVC = nav.selectedViewController;
上一篇 下一篇

猜你喜欢

热点阅读