Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 故事板segue有时会将我的viewcontroller部分置于屏幕之外_Ios_Uiviewcontroller_Uistoryboard_Uistoryboardsegue - Fatal编程技术网

Ios 故事板segue有时会将我的viewcontroller部分置于屏幕之外

Ios 故事板segue有时会将我的viewcontroller部分置于屏幕之外,ios,uiviewcontroller,uistoryboard,uistoryboardsegue,Ios,Uiviewcontroller,Uistoryboard,Uistoryboardsegue,在我的iPad应用程序中,十分之二的测试人员报告了一个我无法在iOS 6.1.2(iPad和模拟器)上复制的问题。我的测试人员都在6.0.1上。这个问题只有10%的时间会发生,而当应用程序刚刚从后台返回时,这种情况似乎会更多 问题是,当某个视图控制器使用故事板分段以模式显示时,有时它不在屏幕中央。在这些时候,它几乎总是以(0,0)为中心: 现在,我实际上没有任何代码来定位视图控制器。我依靠故事板序列来定位和显示它。该序列的属性包括: 风格:模态 演示文稿:表格 过渡:交叉溶解 动画:是的

在我的iPad应用程序中,十分之二的测试人员报告了一个我无法在iOS 6.1.2(iPad和模拟器)上复制的问题。我的测试人员都在6.0.1上。这个问题只有10%的时间会发生,而当应用程序刚刚从后台返回时,这种情况似乎会更多

问题是,当某个视图控制器使用故事板分段以模式显示时,有时它不在屏幕中央。在这些时候,它几乎总是以(0,0)为中心:

现在,我实际上没有任何代码来定位视图控制器。我依靠故事板序列来定位和显示它。该序列的属性包括:

  • 风格:模态
  • 演示文稿:表格
  • 过渡:交叉溶解
  • 动画:是的
(这些是在IB中设置的,而不是在代码中设置的)

调用此viewcontroller的代码部分是:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UISplitViewController *split =  ((CVAppDelegate *)[[UIApplication sharedApplication] delegate]).splitViewController;
    UINavigationController *navController = split.viewControllers[1];
    NSInteger row = [self.tableView indexPathForSelectedRow].row;
    if (row < [((CVAppDelegate *)[[UIApplication sharedApplication] delegate]).products count])
        [navController.viewControllers[0] performSegueWithIdentifier:@"ShowPicker" sender:@(row)];
    [_popover dismissPopoverAnimated:YES];

}
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nsindepath*)indepath
{
UISplitViewController*拆分=((CVAppDelegate*)[[UIApplication sharedApplication]委托]).splitViewController;
UINavigationController*navController=split.viewControllers[1];
NSInteger行=[self.tableView indexPathForSelectedRow]。行;
如果(行<[((CVAppDelegate*)[[UIApplication sharedApplication]委托])。产品计数])
[navController.viewControllers[0]执行带有标识符的导航:@“ShowPicker”发送方:@(行)];
[_popoverdismiss popopoveranimated:是];
}
最后一点可能会有所帮助的数据是,此viewcontroller是从本身是popover的tableviewcontroller调用的,并且在显示此新的viewcontroller时被取消

我已经想不出为什么我从来没有见过这个问题,但是有几个人每天都会看到一次(我离他们很远,所以我不能亲自调试)。我想这可能是iOS版本号,也可能是iPad的纵向方向,因为我的应用程序只针对横向方向编写,所以在调用此视图或从后台导入应用程序之前,iPad的方向会有所不同


任何想法都将不胜感激。

明白了。如果屏幕上有键盘时触发segue,则会发生这种情况。键盘连接到左侧视图控制器上的可编辑项。因此,当segue触发时,新的视图控制器将定位在左视图控制器上,并向上推以说明键盘-由于活动文本项不再活动,键盘已被取消