2011-07-26 21 views
0

好的,所以我有一個滾動視圖加載時,用戶登錄到我的應用程序。當用戶通過身份驗證時,我需要以編程方式創建一個滾動視圖。爲此,我有以下代碼:當它填充更多的內容時擴展UIScrollView

[scrollView removeFromSuperview]; 

     UIScrollView *view = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, applicationFrame.size.width, self.view.frame.size.height)]; 
     view.backgroundColor = [UIColor greenColor]; 


     //-- get the y-coordinate of the view 
     CGFloat viewCenterY = self.view.center.y; 
     //--calculate how much visible space is left 
     CGFloat freeSpaceHeight = applicationFrame.size.height - keyboardBounds.size.height; 
     //-- calculate how much the scrollview must scroll 
     CGFloat scrollAmount = viewCenterY - freeSpaceHeight/2.0; 

     if(scrollAmount < 0) scrollAmount = 0; 

     //set the new scrollsize contentview 
     view.contentSize = CGSizeMake(applicationFrame.size.width,   applicationFrame.size.height + keyboardBounds.size.height); 

     //scroll the scrollview 
     [view setContentOffset:CGPointMake(0, scrollAmount) animated:YES]; 

      for(int v = 0; v < 15; v++){ 
       CGFloat yCoord = v * 100; 
       UILabel *mijnLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, yCoord, 200, 50)]; 

       mijnLabel.text = @"1337"; 
       mijnLabel.font = [UIFont fontWithName:@"Verdana" size:20]; 
       mijnLabel.textColor = [UIColor redColor]; 

       [view addSubview:mijnLabel]; 
       [mijnLabel release]; 
      } 


      [self.view addSubview:view]; 

      [view release]; 


     } 

如何根據添加的標籤數量來擴展我的視圖?我也想知道如何讓我的scrollview填滿整個屏幕..我的滾動視圖現在只在縱向模式下填滿屏幕。

這是被刪除的登錄屏幕:

[scrollView removeFromSuperview]; 

回答

0

你需要跟蹤標籤的數字,要添加到滾動視圖。假設你的標籤的高度是50,那麼取一個變量並且總計所有標籤的高度,併爲你的滾動視圖給出一個新的框架。像:

 view.frame = CGRectmake(0,0,applicationFrame.size.width,totalHeightOfLabel); 
     [self.view addSubview:view]; 

     [view release]; 

希望這會給一個想法...

相關問題