2013-09-30 3 views
1

После обновления моего кода для iOS 7 я столкнулся с одной проблемой, которая продолжает меня путать. Этот код работал нормально в iOS 6:CGRectMake переместился за мою навигационную панель

-(void)showPDFFile 
{ 
NSString* fileName = @"Report.PDF"; 

NSArray *arrayPaths = 
NSSearchPathForDirectoriesInDomains(
            NSDocumentDirectory, 
            NSUserDomainMask, 
            YES); 
NSString *path = [arrayPaths objectAtIndex:0]; 
NSString* pdfFileName = [path stringByAppendingPathComponent:fileName]; 

CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size; 

// This has been set to accomadate iPhone 5 screen size. // 
if (iOSDeviceScreenSize.height == 568) { 
    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 455)]; 
} 
else{ 
    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)]; 
} 


NSURL *url = [NSURL fileURLWithPath:pdfFileName]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView setScalesPageToFit:YES]; 
[webView loadRequest:request]; 

[self.view addSubview:webView]; 
} 

С момента обновления веб-просмотр всегда заканчивается за навигационной панелью. Я попытался изменить значение y, чтобы переместить его, но это заставило код выйти из строя или не повлиять. Я знаю, что это связано с новыми краевыми прозрачными пленками, но я не уверен, как это исправить. Любая помощь будет большой. Спасибо

EDIT: Просто, чтобы уточнить, теперь я понимаю, что это не было связано с CGRectMake.

ответ

6

Попробуйте изменить навигациюBar translucent, это YES по умолчанию в iOS7.

self.navigationController.navigationBar.translucent = NO; 
+0

Это устранило мою проблему. Я не понимал, что это необходимо. благодаря – jmr1706

Смежные вопросы