Проблемы ориентации с контроллером панели вкладок в WebView - PullRequest
1 голос
/ 02 марта 2010

Я новичок в разработке для iPhone. В моем приложении я использую количество viewControllers, веб-вид, панель инструментов, панель вкладок и так далее. Здесь я хочу добиться ориентации (книжной или альбомной или наоборот) соответствующего представления устройства во всех веб-видах. Я мог бы добиться ориентации во всех веб-представлениях, за исключением тех веб-представлений, которые находятся под веб-представлением контроллера панели вкладок (это может быть один из представлений контроллера панели вкладок или вспомогательного представления представления контроллера панели вкладок).

Здесь я добавляю веб-вид, используя приведенный ниже код,

  contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |                  UIViewAutoresizingFlexibleHeight);
  self.view = contentView;
  self.view.autoresizesSubviews = YES;


  CGRect webFrame = [[UIScreen mainScreen] applicationFrame];
  webFrame.origin.y -= 20.0;

  webView1 = [[UIWebView alloc] initWithFrame:webFrame];

  [contentView addSubview:webView1]; 

и используя приведенные ниже методы для достижения ориентации,

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orientation 
 {

  return YES;
 }


 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
     {
           if(fromInterfaceOrientation == UIInterfaceOrientationPortrait){
           [webView1 stringByEvaluatingJavaScriptFromString:@"rotate(0)"];

     }

еще {

   [webView1 stringByEvaluatingJavaScriptFromString:@"rotate(1)"];
 }

}

Пожалуйста, дайте кому-нибудь солнечн!

1 Ответ

2 голосов
/ 22 июля 2010

Хорошо, давайте попробуем это:

Шаг 1. Создайте пользовательский класс для класса TabBarController как:

@interface CustomTabBarController : UITabBarController {

}

@end

In CustomTabBarController.m write

`#import "CustomTabBarController.h"

@implementation CustomTabBarController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{

    // Always returning YES means the view will rotate to accomodate any orientation.

    return YES;

}

@end

Шаг 2: В appDelegate напишите это:

Изменить UITabBarController на «CustomTabBarController» и измените его ссылку на класс в Интерфейсном конструкторе на CustomTabBarController

...