1. 程式人生 > >iOS uiwebview 大小跟隨內容自適應

iOS uiwebview 大小跟隨內容自適應

- (void)viewDidLoad {

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

NSString *str=@"<body><div id='webview_content_wrapper'>jhkhkjhkjhk<img src='f_static_002.gif' style='width=14px;height=14px;'>jhkjjhkh kjhkjhk<img src='f_static_002.gif' style='width=14px;height=14px;'>jhk jjhkhk jhkjhk<img src='f_static_002.gif' style='width=14px;height=14px;'>jhkjhj</div></body>";

    [_webloadHTMLString:str baseURL:[NSURLfileURLWithPath:[[NSBundlemainBundle] resourcePath] ]];

_web.scrollView.bounces = NO;

_web.scrollView.showsHorizontalScrollIndicator = NO;

_web.scrollView.scrollEnabled = NO;

//    _web.delegate=self;

    [_websizeToFit];

dispatch_after(dispatch_time(

DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//        [_web sizeToFit];

        _web.frame=CGRectMake(0, 0, _web.frame.size.width, 1);

        CGSize s=[_web sizeThatFits:CGSizeZero];

       NSLog(@"%g %g ",s.width,s.height);

        CGRect r=_web.frame;

NSLog(@"%g %g %g %g"

,r.origin.x,r.origin.y,r.size.width,r.size.height);

            r.size=s;

        _web.frame=r;

NSLog(@"%g %g %g %g",r.origin.x,r.origin.y,r.size.width,r.size.height);

self.view.backgroundColor=[UIColorblueColor];

    });

}

也可以在webViewDidFinishLoad:(UIWebView *)webView用延後執行的效果。不過這個經常不準