2013-04-04 65 views
0

我有下一個代碼啓用一個UIScrollView分頁選項上:添加到UIScrollView的按鈕/標籤只出現在第一頁

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    for (int i = 0; i < 6; i++) { 
     CGRect frame; 
     frame.origin.x = self.scrollView.frame.size.width * i; 
     frame.origin.y = 0; 
     frame.size = self.scrollView.frame.size; 
     [scrollView scrollRectToVisible:frame animated:YES]; 

     UIView *subview = [[UIView alloc] initWithFrame:frame]; 
     itemName.text = @"Samara"; 
     [self.scrollView addSubview:subview]; 
     [subview release]; 
    } 

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * 6, 1.0); 
} 

我有一個數量的元素(按鈕,標籤),加在此ScrollView元素的故事板中,但在UI中它們僅出現在第一頁上 - 接下來的頁面是空白的。我該如何解決這個問題?

+0

你的代碼中有些奇怪的事情正在發生。你用UIScrollView的大小創建一個名爲subview的UIView,然後在itemName(ivar?)上設置文本,我猜是UILabel,然後將空的UIView添加到UIScrollView? – mbogh 2013-04-04 11:15:30

+0

@mbogh我剛剛複製這個..並嘗試瞭解,它是如何工作的。任何想法如何將UILabels附加到子視圖?.. – ShurupuS 2013-04-04 11:20:35

回答

1

只是讀通過您的代碼示例 - 這裏是如何讓你的滾動視圖頁面,你添加這些滾動型裏面有什麼是你:

//Set your scrollView frame 
[self.scrollView setFrame:CGRectMake(0,0,320,460]; 

//Will use this value to set the content width after the loop 
CGFloat scrollWidth = 0; 
CGFloat pageWidth = self.scrollView.frame.size.width; 
CGFloat pageHeight = self.scrollView.frame.size.height; 
for (int i = 0; i < 6; ++i) 
{ 
    //Create the page and make the origin.x i * pageWidth 
    UIView *page = [[UIView alloc] initWithFrame:CGRectMake((i * pageWidth),0,pageWidth,pageHeight)]; 
    scrollWidth += page.width; 
    //Add the page 
    [self.scrollView addSubview:page]; 
} 
//set the content size to the right edge of the last page (scrollWidth) 
[self.scrollView setContentSize:CGSizeMake(scrollWidth,pageHeight)]; 
//Scroll to the last page - assuming you wanted this by looking at the code in your loop 
[self.scrollView scrollRectToVisible:CGRectMake((scrollWidth - pageWidth),0,pageWidth,pageHeight)]; 
//Enable paging and scrolling (scrollEnabled should be YES by default) 
self.scrollView.pagingEnabled = YES; 
self.scrollView.scrollEnabled = YES; 

最好的我可以根據您的代碼做的 - 希望它幫助

+0

它的工作原理,現在我看,如何使用它,謝謝 – ShurupuS 2013-04-04 11:56:59

相關問題