我对UIScrollView有问题。
我的程序是这样的:
这是MainMenuViewController方法的一部分
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];
}
我将滚动视图的contentSize设置为
recalculateThumbnailsBounds
滚动条控制器。设置正确(1620.0、128.0),但滚动不起作用。
((UIScrollView *)imgScrollBarCtrl.view).contentSize(2000.0, 128.0);
但效果不太好。
我愿意
NSLog(...)
在控制台上设置contentSize和print frame size以及contentSize之后-它们设置正确freme.尺寸=1028.0128.0,内容大小=1620.0128.0。
我查过方法了
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
在两个控制器中-MainMenuController和ScrollBarController。只有主控制器触发此方法。ScrollBarController从不接收事件。。。也许这是个问题。。。
有没有人知道会出什么问题?干杯!