我有一个UIScrollView的问题。 我设置了它的frame.size,contentSize(大于框架),但我仍然无法滚动。 我的计划已经sctucrure这样的: MainMenuViewController - > ScrollBarController - > UIScrollView的UIScrollView不滚动
这是MainMenuViewController的方法从ScrollBarController类零件viewDidLoad
ScrollBarController *imgScrollBarCtrl = [[ScrollBarController alloc] init];
// set images folder
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagesFolder = [documentsDirectory stringByAppendingPathComponent:@"SavedImages"];
// set scroll bar frame size
imgScrollBarCtrl.view.frame = CGRectMake(0.0, 0.0, 1024.0, 128.0);
[imgScrollBarCtrl setImagesFolder:imagesFolder];
// method adds subviews UIImageView to the scroll bar
// and set view's contentSize according thumbnails number
[imgScrollBarCtrl recalculateThumbnailsBounds];
[topPanel addSubview:imgScrollBarCtrl.view];
[imgScrollBarCtrl release];
有方法loadView
:
- (void)loadView {
UIScrollView *aScrollView = [[UIScrollView alloc] init];
aScrollView.scrollEnabled = YES;
self.view = aScrollView;
[aScrollView release];
}
我在ScrollBarController的recalculateThumbnailsBounds
中设置了我的scrollView的contentSize。它设置正确(1620.0,128.0),但滚动不起作用。 我试着在MenuViewController中设置contentSize: ((UIScrollView *)imgScrollBarCtrl.view).contentSize(2000.0, 128.0);
但它不起作用。
在将contentSize和print frame size和contentSize设置到控制台之后,我们做了NSLog(...)
- 它们的设置正确freme.size = 1028.0,128.0,contentSize = 1620.0,128.0。
我已经检查了两个控制器中的方法- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- MainMenuController和ScrollBarController。只有主控制器启动这个方法。 ScrollBarController从来没有收到触摸事件...可能是一个问题...
有没有人有一个想法可能是什么错?干杯!
我已经试过了。在您的建议后再次尝试。我有同样的事情 - 滚动视图和子视图布局是正确的,但滚动视图不滚动。你需要什么方法才能获得更好的照片?我只是认为这种方法已经足够了。其他更多的方法来计算'UIImageView'视图的帧并将它们添加到滚动视图。 – OgreSwamp 2010-07-27 13:11:14