Ios modal segue中的viewcontroller中的uiscrollview
我正在使用Xcode 4.6构建一个iOS 6.x tabbar应用程序,并使用Storyboard的。在每个选项卡式视图中,添加UIScrollView并与其中放置的任何元素交互都没有问题 然而。。。当我点击一个按钮,在我的故事板中使用模态序列转换到一个新视图时,滚动视图在模态视图中不起作用 示例: TestViewController.h和TRViewController.h都包含类似以下代码:Ios modal segue中的viewcontroller中的uiscrollview,ios,uiscrollview,uitableview,uistoryboard,uistoryboardsegue,Ios,Uiscrollview,Uitableview,Uistoryboard,Uistoryboardsegue,我正在使用Xcode 4.6构建一个iOS 6.x tabbar应用程序,并使用Storyboard的。在每个选项卡式视图中,添加UIScrollView并与其中放置的任何元素交互都没有问题 然而。。。当我点击一个按钮,在我的故事板中使用模态序列转换到一个新视图时,滚动视图在模态视图中不起作用 示例: TestViewController.h和TRViewController.h都包含类似以下代码: @property (strong, nonatomic) IBOutlet UIScrollV
@property (strong, nonatomic) IBOutlet UIScrollView *scroller;
在TestViewController.m和TRViewController.m中启用的viewDidLoad方法中:
[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(320, 1000)];
然后在IB中,插座正确连接到视图:
因此,对于每个视图,我的代码在IB、.h和.m之间被复制/相同。在一个领域有效,但在另一个领域无效。除此之外,我认为与我的问题相关的唯一其他障碍可能来自segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"trSegue"]) {
TRViewController *_trVC = segue.destinationViewController;
_trVC.delegate = self;
}
}
我是不是错过了一些显而易见的东西?我在想,一旦我看到解决方案,这将是一个向前推进的时刻
想法/评论
提前谢谢!
-德鲁嗯。。。我发现如果我只是把这个序列从一个模式改成一个推。。。无需任何额外的调整/调整,效果非常好。我想我还是走这条路吧,别再胡闹了
也就是说,我仍然很想找到一种方法来做到这一点(如果可能的话)。嗯。。。我发现如果我只是把这个序列从一个模式改成一个推。。。无需任何额外的调整/调整,效果非常好。我想我还是走这条路吧,别再胡闹了
也就是说,我仍然很想找到一种方法(如果可能的话)。我找到了。您必须将UIScrollView放在另一个空UIView中。在界面生成器中,您的层次结构将如下所示:
原因在于模态序列显示内容的方式。当您执行推送序列时,它实际上会将ViewController推送到导航堆栈的最顶层,而使用模式序列时,它会更改屏幕上显示的内容。我不确定这是否会导致苹果拒绝你的应用程序,但它确实有效 我明白了。您必须将UIScrollView放在另一个空UIView中。在界面生成器中,您的层次结构将如下所示:
原因在于模态序列显示内容的方式。当您执行推送序列时,它实际上会将ViewController推送到导航堆栈的最顶层,而使用模式序列时,它会更改屏幕上显示的内容。我不确定这是否会导致苹果拒绝你的应用程序,但它确实有效 谢谢!我有一个类似的问题,推动segue,并解决了它这样做。但是,当返回到包含scrollview-in-a-UIView的VC时,它被搞砸了-我通过在ViewWillDisplay()中将内容偏移量手动设置为0,0解决了这个问题。谢谢!我有一个类似的问题,推动segue,并解决了它这样做。但是,当返回到包含scrollview-in-a-UIView的VC时,它被搞砸了-我通过在ViewWillAspect()中将内容偏移量手动设置为0,0解决了这个问题。