Как я могу определить расположение UIWebView от IB, когда он был инициализирован в коде? - PullRequest
0 голосов
/ 31 мая 2011

Я успешно встроил видео vimeo с помощью UIWebView. Однако, поскольку я создал это в коде, мне нужно настроить позиционирование в коде, и я бы предпочел сделать это через конструктор интерфейса. Поправьте меня, если я ошибаюсь, я прочитал, что инициализация UIWebView с помощью метода initWithCoder была способом достижения этого. Однако я не уверен, как правильно использовать этот метод, если он вообще правильный.

Вот немного кода, чтобы показать, что я делал до сих пор:

- (void) viewDidLoad{
[super viewDidLoad];
[self embedVimeo:@"http://player.vimeo.com/video/19969613" frame:CGRectMake(300, 100, 260, 200)];
[self embedVimeo:@"http://player.vimeo.com/video/19967404" frame:CGRectMake(100, 300, 260, 200)];}


- (void)embedVimeo:(NSString *)urlString frame:(CGRect)frame {
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<iframe src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></iframe>\
</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
/*UIWebView **/ videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];

[[[videoView subviews] lastObject] setScrollEnabled:NO];
[mainView addSubview:videoView];
[videoView release];

}

Есть идеи?

*

Tod * 1011

1 Ответ

0 голосов
/ 31 мая 2011

Насколько я понимаю, initWithCoder автоматически используется средой выполнения Objective-C / Cocoa / CocoaTouch для достижения того, к чему вы стремитесь.Так что вам не нужно беспокоиться об этом.

Короче говоря, если вы создадите свой пользовательский интерфейс в IB, скажем, создайте там экземпляр объекта UIWebView, определите его соединение с вашим контроллером, тогда вы сможетеиспользуйте этот UIWebView напрямую, не беспокоясь о необходимости его создания.

Что бы я сделал:

  1. создание нового веб-вида в моем кончике;

  2. контроллер / делегат для WebView;

  3. подключение делегата WebView к контроллеру / делегату;

  4. connectпредставление контроллера / делегата в WebView;

  5. подключите rootViewController главного окна к контроллеру / делегату.

Как только вы убедитесь, чтовы правильно определили все выходы и соединение, просто загрузив этот кончик (который, в случае если это MainMenu, выполняется автоматически), вы получите все эти объекты, созданные и готовые к использованию (вызывая loadHTMLString: или любой другой.

ХмельЭто помогает.

...