我有一个滚动视图,自动生成一系列包含图像浏览的子视图。其概念是,它几乎是一个自定义PDF风格的阅读器,其中每个页面都作为图像加载到imageview中。有三个“图层” - 外部UIScrollView,子视图内自动生成的子视图和图像视图。UIScrollView旋转
我的两难困境是,当生成这些子视图时,他们并没有真正的参考,所以在我的didRotateFromInterfaceOrientation中,没有办法说调整这个特定的视图。
我创建了一个函数调用setupView函数其初始化所有的意见和图像,因为这样:
- (void)setUpView {
//INITIALISE PAGING SCROLL VIEW
CGRect pagingScrollViewFrame = [[UIScreen mainScreen] bounds];
pagingScrollViewFrame.origin.x -= 10;
pagingScrollViewFrame.size.width += 20;
pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
//CONFIGURE PAGING SCROLL VIEW
pagingScrollView.pagingEnabled = YES;
pagingScrollView.backgroundColor = [UIColor blackColor];
pagingScrollView.contentSize = CGSizeMake(pagingScrollViewFrame.size.width*7, pagingScrollViewFrame.size.height);
//ACTIVATE PAGING SCROLL VIEW
self.view = pagingScrollView;
//ADD PAGES TO SCROLL VIEW
for (int i = 0; i < 7; i++){
ImageScrollView *page = [[[ImageScrollView alloc] init] autorelease];
[self configurePage:page forIndex:i];
[pagingScrollView addSubview:page];
}
}
在我的loadView方法我只是调用这个函数。
是否有任何方法来检测设备的当前方向,以便可以以某种方式被馈送到上述功能中?目前,在旋转时,外部视图可以很好地旋转,但内部子视图和图像视图不会。
,所以我可以有一个声明,如果说像如果(self.interfaceOrientation = landscapeleft){// changedimensions}; – 2010-10-06 16:20:11
是的,你可以使用layoutSubviews函数根据当前的方向更新你的子视图(它会在帧更改时调用[当你旋转帧通常改变:)] – 2010-10-06 20:45:50