2014-01-17 4 views
1

Я новичок в iOS, просто нужно создать небольшое родное приложение, которое загружает URL-адрес, размещенный в IIS и сделанный на JQuery mobile. Проблема возникает, когда я изменяю ориентацию, которую она отсекает с правой стороны, в то время как то же самое работает правильно на всех устройствах Android. Пожалуйста, помогите мнеIOS UIWebView Ориентация вопроса

это мой код

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIWebView *webView=[[UIWebView alloc]initWithFrame:CGRectMake(0.0, 0.0,768,1024)]; 


    NSString *[email protected]"http://www.mydomain.com"; 
    NSURL *fullUrl=[NSURL URLWithString:httpSource]; 
    NSURLRequest *httpRequest=[NSURLRequest requestWithURL:fullUrl]; 
    webView.delegate=self; 
    [webView loadRequest:httpRequest]; 
    [self.view addSubview:webView]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

ответ

5

Вы должны установить маску авторезистирования для своего веб-браузера, или вы можете использовать Autolayout.

- (void)viewDidLoad { 

     [super viewDidLoad]; 

     //Here you use the frame of Total View, irrespective of device type 
     UIWebView *webView=[[UIWebView alloc]initWithFrame:self.view.bounds]; 

     //Autoresizemask 
     webView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 
     NSString *[email protected]"http://www.mydomain.com"; 
     NSURL *fullUrl=[NSURL URLWithString:httpSource]; 
     NSURLRequest *httpRequest=[NSURLRequest requestWithURL:fullUrl]; 
     webView.delegate=self; 
     [webView loadRequest:httpRequest]; 
     [self.view addSubview:webView]; 
    } 
+0

Спасибо, Чанду, ваш код работает. , но как насчет того, если я хочу, чтобы это приложение запускалось на iphone и ipad. Какая должна быть ширина и высота для этого –

+0

Вы можете использовать общий кадр представления как ваш кадр webView, так что вам не нужно устанавливать кадры вручную, независимо от того, какое устройство. Я предлагаю вам внимательно прочитать документацию на яблоко. Проверьте мой обновленный код. – chandu

+0

Вот ссылка документа Apple, https://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/uiview/uiview.html. – chandu

0

Попробуйте изменить UIWebView кадр, когда устройство поворота. Попробуйте более точный код

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{ 
    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; 

    [webView setFrame: CGRectMake(0, 0, 1024, 768)]; 
} 
Смежные вопросы