我有一個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