0

我正在尝试修改 Apple 的PhotoScroller 示例,以使创建的滚动视图成为子视图,而不是占据整个屏幕的视图。关于如何实现这一点的任何想法?

- (void)loadView 
{    
    // Step 1: make the outer paging scroll view
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
    pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
    pagingScrollView.pagingEnabled = YES;
    pagingScrollView.backgroundColor = [UIColor blackColor];
    pagingScrollView.showsVerticalScrollIndicator = NO;
    pagingScrollView.showsHorizontalScrollIndicator = NO;
    pagingScrollView.contentSize = [self contentSizeForPagingScrollView];
    pagingScrollView.delegate = self;

    // When I do this it fails
    [self.view addSubview:pagingScrollView];

    // Step 2: prepare to tile content
    recycledPages = [[NSMutableSet alloc] init];
    visiblePages  = [[NSMutableSet alloc] init];
    [self tilePages];
}
4

2 回答 2

0

您只需要将滚动视图的框架修改为您想要的位置和大小:

这是在示例中设置它的视图控制器中的行

pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];

例如,这里是一个带有一些硬编码值的示例帧:

CGRect scrollFrame = CGRectMake(100,100,100,100);
pagingScrollView = [[UIScrollView alloc] initWithFrame:scrollFrame];
于 2012-06-23T22:25:11.460 回答
0

所以,我发现我可以通过将方法从 loadView 更改为 viewDidLoad 来将 scrollView 添加为子视图。

我不知道为什么会这样,但确实如此。但是我很想知道为什么会这样……

于 2012-06-24T03:11:45.373 回答