У меня есть одна простая форма. На ней расположены пару кнопок и UIWebView. Я хочу, чтобы высота UIWebView менялась в зависимости от контента внутри него. Заранее контент неизвестен.
Nib файл выглядит так:
Мой
mainViewController.h:
#import <UIKit/UIKit.h>
@interface ibecViewController : UIViewController <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webV;
@end
Я использовал
sizeToFit, но это не помогло. Мой
mainViewController.m:
#import "ibecViewController.h"
@interface ibecViewController ()
@end
@implementation ibecViewController
@synthesize webV;
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *myHTML = @"<html><body><h1>Hello, world!</h1><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p><p>Hello, world</p></body></html>";
[webV loadHTMLString:myHTML baseURL:nil];
[webV sizeToFit];
}
- (void)viewDidUnload
{
[self setWebV:nil];
[super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"123");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"456");
}
И второй вопрос. Почему методы webViewDidStartLoad и webViewDidFinishLoad не работают, хотя я указал, что контроллер соответствует протоколу
UIWebViewDelegate?
Я новичок в iOS, так что не судите строго, если допустил глупые ошибки.
Приложение выглядит так:
Видно, что высота UIWebView не поменялась.