Извините за длинный вопрос, но я застрял на этом в течение нескольких дней и исчерпал всю другую помощь.
В настоящее время у меня есть приложение панели вкладок с четырьмя вкладками. Во второй вкладке (SecondViewController) у меня есть сегментированный контроллер в верхней части, который должен переключаться между «видео» и «изображения». На странице видео должно быть около 5 видео YouTube, загруженных в UIWebView с использованием кода здесь . Представление изображений должно содержать около 5 миниатюр, которые при нажатии открываются в увеличенное изображение. Моя проблема в том, что я испробовал много разных способов сделать это, и ни один из них, похоже, не сработал. Действительно, главное, что я здесь ищу, - это рекомендуемый способ переключения между двумя представлениями с использованием сегментированного контроллера и, если возможно, загрузки представлений из разных файлов (videosView.h / m и imagesView.h / m).
В SecondViewController.m приложение отвечает на UISegmentedController с использованием следующего, хотя я абсолютно не знаю, является ли это даже близко к правильному.
- (IBAction)segmentedControlChanged
{
switch (segmentedControl.selectedSegmentIndex)
{case 0:
[self.view addSubview:videosView.view];
[imagesView.view removeFromSuperview];
NSLog(@"1");
break;
case 1:
[self.view addSubview:imagesView.view];
[videosView.view removeFromSuperview];
NSLog(@"2");
break;
default:
break;
}
}
В videosView.h у меня есть только следующее:
#import <UIKit/UIKit.h>
@interface videosView : UIWebView
{
}
- (videosView *)initWithStringAsURL:(NSString *)urlString frame:(CGRect)frame;
@end
В videosView.m у меня есть следующее, хотя я получаю предупреждение в строке initWithFrame.
- (videosView *)initWithStringAsURL:(NSString *)urlString frame:(CGRect)frame;
{
if (self = [super init])
{
// Create webview with requested frame size
self = [[UIWebView alloc] initWithFrame:frame];
// HTML to embed YouTube video
NSString *youTubeVideoHTML = @"<html><head>\
<body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
// Populate HTML with the URL and requested frame size
NSString *html = [NSString stringWithFormat:youTubeVideoHTML, urlString, frame.size.width, frame.size.height];
// Load the html into the webview
[self loadHTMLString:html baseURL:nil];
}
return self;
}
@end
imagesView сделан, но в нем нет добавленного кода, так как я просто пытаюсь сначала разобраться с видео.