2013-08-12 72 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.相反,您可以根據需要更改