2017-05-08 120 views
0

我想弄清楚爲什麼tableView向右移動,它出現在應用程序使用的每個視圖中,但應用程序本身顯示正常,只有當tableView出現時是一切變動在屏幕之外。查看向右移

我相信初始化在這裏;

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    NSLog(@"Lets load the frame"); 

    CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); 

    [self.view setFrame: frame]; 

    self.contentSizeForViewInPopover = CGSizeMake(320, 480); 

    m_mywork = nil; 

    dataArray = [LoadSessionController loadTableData:YES]; 
} 

enter image description here

這裏是從另一個類初始化;

在iPad上顯示是完美的。

- (void) ShowInitialMenu 
{ 
    InitialMenuController *MewMgrController = [[InitialMenuController alloc] initWithStyle:UITableViewStyleGrouped]; 
    MewMgrController.delegate = self; 
    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController: MewMgrController]; 
    if(![ColorSplashAppDelegate isiPad]){ 
     [self presentViewController:navController animated:YES completion:nil]; 
    } 
    else{ 
     UIPopoverController* popover = [[UIPopoverController alloc] initWithContentViewController:navController]; 
     popover.delegate = self; 
     [popover presentPopoverFromRect:CGRectMake(30.0, 940.0, 30.0, 480.0) 
           inView:self.view 
       permittedArrowDirections:UIPopoverArrowDirectionDown 
           animated:YES]; 
     ColorSplashAppDelegate *appDelegate = [UIApplication sharedApplication].delegate; 
     appDelegate.popoverController = popover; 
    } 

    [navController release]; 
    [MewMgrController release]; 

    [self enableUserAction:YES]; 
} 
+1

你爲什麼設置self.view框架? – KKRocks

+0

用零值添加前導,尾隨,頂部和底部約束。 – KKRocks

+1

你不應該在視圖控制器中設置'self.view'的框架。 – Fogmeister

回答

0

試試這個。

-(void)viewDidLayoutSubviews 
{ 
    CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); 

    [self.view setFrame: frame]; 

    self.contentSizeForViewInPopover = CGSizeMake(320, 480); 

    m_mywork = nil; 

} 
+0

沒有工作,但我已將額外信息添加到原始問題的底部 – Hypergater