2013-08-12 44 views
1

我有滚动查看屏幕底部。当我点击按钮它加载滚动视图。但scrollview占用完整的父视图。我无法控制一些直接制作的视角。如果我使用scrollview,我无法处理其他按钮操作,并单击其他子视图的事件。滚动查看屏蔽父视图

代码:

scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height)]; 

    scrollview.scrollEnabled=YES; 
for (int i = 0; i<[self.array count]; i++) { 
      NSLog(@"index %d",i); 



      imgView1=[[UIButton alloc]initWithFrame:CGRectMake(20+(i*74), 500, 72, 72)]; 


      [imgView1 setTag:i+1]; 

      [imgView1 addTarget:self action:@selector(Clicked:) forControlEvents:UIControlEventTouchUpInside]; 

      [imgView1 setImage:((Mysof *)[self.array objectAtIndex:i]).photo forState:UIControlStateNormal]; 

      [scrollview addSubview:imgView1]; 


    } 

     [scrollview setContentSize:CGSizeMake(CGRectGetMaxX(imgView1.frame),self.view.frame.size.height)]; 

     [self.view addSubview:scrollview]; 

登录:

scroll is <UIScrollView: 0x1f03d550; frame = (0 0; 320 568); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x1f037090>; layer = <CALayer: 0x1f036670>; contentOffset: {0, 0}> 
+0

我建议您在设置内容之前和之后打印滚动视图的框架。让我知道输出。大概我可以帮你解决这个问题 –

+0

我不明白 – user2674668

+0

为你的滚动视图记录框架 –

回答

2

你正在做的是这样的:

scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height)]; 

代替试试这个:

int y = self.view.frame.origin.y+ self.view.frame.size.height-200; 
scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0,y,320,200)]; 

这里,滚动视图将在视图的底部显示,这将是320X200大小的。您可以根据您的要求更改高度。当你改变高度,然后改变self.view.frame.origin.y + self.view.frame.size.height-changedHeight的值。

,并ImageView的帧像这样:

imgView1=[[UIButton alloc]initWithFrame:CGRectMake(20+(i*74), 0, 72, 72)]; 

内容的大小要小一些,然后滚动型身高只有水平滚动。 在这里,宽度应该是所有图像视图宽度+给定空间的总和。所以我会说,尝试在for循环中使用像这样的宽度变量,并将该宽度用于内容大小,以便根据图像的总宽度进行设置。

int Width = 0; 
    for (int i = 0; i<[self.array count]; i++) { 

     Width = Width + 20+(i*74); 
    } 

    [scrollview setContentSize:CGSizeMake(Width,imgView1.frame.size.height+20)]; 

希望它有助于!

+0

它不显示imgView1 .. – user2674668

+0

看到编辑答案.. –

+0

它的工作。但滚动视图显示屏幕的中心 – user2674668

0

设置了滚动的高度,底部按钮的起源,

scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0,320,400)]; 

在这里,我认为你的按钮/仰视图的y的位置为400.相反,您可以根据需要更改