2017-05-08 115 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