2012-06-23 94 views
0

我试图修改Apple的PhotoScroller example以使滚动视图创建到子视图中,而不是视图占用整个屏幕。关于如何实现这一点的任何想法?将由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]; 
} 

回答

0

你只需要修改滚动视图的框架中确定位置和大小,你怎么想:

这是在视图控制器,设置它在该示例行

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

此处作为一例是与某些硬编码值的样品架:

CGRect scrollFrame = CGRectMake(100,100,100,100); 
pagingScrollView = [[UIScrollView alloc] initWithFrame:scrollFrame]; 
+0

是的,我已经能够改变大小和位置,但是当我尝试将它添加到子视图(将self.view = pagingScrollView更改为[ self.view addSubview:pagingScrollView])由于BAD ACCESS而崩溃。 – wierddemon

+0

您应该可以将其作为子视图添加,而不会出现问题。你从哪里调用这个代码?您可能想发布更多代码来帮助缩小问题的根源。您可能还需要通过代码进行调试,以查看哪些项目未得到实例化(导致访问不良)。 – Dima

+0

对不起,我使用我更改的代码块编辑了我的帖子。作为一个说明,我已经修改frameForPagingScrollView给我一个自定义框架(而不是使用CGRectMake进行硬编码) – wierddemon

0

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

我不知道为什么这个工程,但它确实。我很想知道为什么这样的情况然而...

相关问题