我只在iOS上工作了几个月,但我一直在头撞墙,长达数小时,看起来应该是非常简单的东西。我在Xcode中使用了主细节模板来制作iPad应用程序。我希望可以滚动的细节部分显示的内容低于框架中可见的内容,无论在哪个方向。我已经尝试了在viewViewController中的viewWillAppear,viewDidLoad,loadView ...中添加滚动视图的多种组合,并且我可以提出的最佳方式是顶层显示为可滚动视图,因为它显示滚动条并向我显示正确地做了scrollView.contentSize,因为我可以平移,但实际的视图与字段和东西不会移动,字段无法编辑。这是我目前的观点。正如你可以在NSLogs中看到的,我试图理解视图堆栈。如果我在日志之前取消注释,则完全失去滚动条。如何使详细视图在主细节中可滚动应用程序
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
scrollView.contentSize = CGSizeMake(2048, 2048);
UIView *parentView = [[UIView alloc] init];
parentView = [[self view] superview];
[[parentView superview] addSubview:scrollView];
//[scrollView addSubview:[self view]];
NSLog(@"%@", [parentView superview]);
NSLog(@"%@", parentView);
NSLog(@"%@", [super view]);
NSLog(@"%@", [self view]);
[scrollView setDelegate:self];
}
我会真诚地感谢任何关于如何在这种情况下正确实现UIScrollView的指导或技巧。
很容易。我想通过编程而不是使用IB来让它变得很难。我现在的一个“副作用”是,我的观点实际上是一个UIControl,所以当我触及任何UITextField之外时,它将会关闭键盘。似乎我不能同时拥有和UIScrollView共存? – 2012-02-29 15:59:19
您可以继承'UIScrollView'并覆盖'touchesEnded'来检测视图中的触摸。 – edc1591 2012-02-29 19:38:53