Из вашего кода мне кажется, что вы пытаетесь использовать UIWebView в качестве видеоплеера, не отображая при этом никакого другого HTML-контента.
Несмотря на то, что это вполне возможно, это, как вы заметили, не особенно эффективно - UIWebView загружает весь свой контент в память, поскольку он был создан для отображения веб-страниц.
Лучшим решением было бы использование MediaPlayer
платформы Apple, а именно MPMoviePlayerController
и / или MPMoviePlayerViewController
.
Если вам нужно только воспроизвести полноэкранное видео , вам следует использовать MPMoviePlayerViewController
. Используя это просто:
MPMoviePlayerViewController *vc = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
[self presentMoviePlayerViewControllerAnimated:vc];
[vc release];
Это представит модальный контроллер вида, содержащий ваш клип.
Если вы хотите настроить любую его часть, вы можете использовать свойство moviePlayer
.
Если вы предпочитаете отображать видео в другом представлении , вы должны посмотреть MPMoviePlayerController
.
Использование этого класса требует больше шаблонов, но также дает вам больше контроля:
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[player prepareToPlay];
player.view.frame = contentView.bounds; //The Player View's Frame must match the Parent View's
// ...
[player play];