2014-02-10 80 views
2

嘗試將子視圖添加到在XIB文件中定義的UIScrollView。下面的代碼是我如何試圖在我的視圖控制器中添加子視圖。但沒有添加子視圖。iOS 7 - UIScrollView子視圖不顯示

有什麼建議嗎?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
    CGRect frame = _tasksScrollView.frame; 
    frame.size.width /= 3.0; 

    NSArray *colors = [NSArray arrayWithObjects:[UIColor blueColor], 
               [UIColor redColor], 
               [UIColor yellowColor], 
               [UIColor greenColor], 
               [UIColor purpleColor], 
               nil]; 

    for (int i = 0; i < [colors count]; i++, frame.origin.x += frame.size.width) { 
     UIView *subView = [[UIView alloc] initWithFrame:frame]; 
     subView.backgroundColor = [colors objectAtIndex:i]; 

     [_tasksScrollView addSubview:subView]; 
    } 

    _tasksScrollView.contentSize = CGSizeMake(frame.size.width * [colors count], frame.size.height); 
} 
+0

you sure frame.origin.y is 0 – santhu

+0

這可能是因爲你在scrollview.frame中攜帶了'x'和'y'座標,所以你的子視圖相對於你的滾動視圖中的視圖空間是偏移的。本身實際上是相對於全屏幕的位置。嘗試設置子視圖的「x」和「y」位置,使其從「0」開始。 – Pavan

+0

感謝您的幫助!我的UIScrollView沒有從原點(0,0)開始,我將子視圖框架的原點設置爲與UIScrollView的原點相同,但這不起作用。將子視圖的原點設置爲(0,0)。 – bohanl

回答

3

這可能是你的子視圖相對於視圖空間,在你滾動視圖,因爲攜帶的youre在xyscrollview.frame自身的座標,其相對於整個屏幕的位置實際上是抵消。嘗試設置子視圖的xy位置,使其從0開始。

0

有幾個原因會導致這種情況發生,大多數情況下,您只是無法鏈接/連接XIB中的IBOutlet屬性(_tasksScrollView)。