2012-07-26 38 views
0

我根据数组元素的在用于loop.The容器视图的数目增加子视图到我的滚动视图具有附加的子视图。里面的问题是,只有所述第一容器的观点包含添加子视图和新的没有,但第三个也有它。我检查了子视图的框架,但似乎仍然没有工作。添加子视图滚动型,其具有额外的子视图

CGFloat contentOffset = 0.0f; 
//add tej views one by one to scrollview 

for (NSString *packageType in packageTypesArray) 
{ 

    CGRect lvPackageContainerFrame = CGRectMake(contentOffset, 0.0f,scrollView.frame.size.width,scrollView.frame.size.height); 

    LVPackageContainer *lvPackageContainer = [[LVPackageContainer alloc] initWithFrame:lvPackageContainerFrame]; 

    NSLog(@"Frame %@",NSStringFromCGRect(lvPackageContainerFrame)); 
    lvPackageContainer.packageType = packageType; 
    [packageContainersArray addObject:lvPackageContainer]; 

    UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 264, 314)]; 
    NSLog(@"BackgroundImage %@",backgroundImage); 
    backgroundImage.backgroundColor = [UIColor redColor]; 
    [backgroundImage setImage:[UIImage imageNamed:@"shadowBackground.png"]]; 
    backgroundImage.center = lvPackageContainer.center; 
    [lvPackageContainer addSubview:backgroundImage]; 


    [scrollView addSubview:lvPackageContainer]; 

    contentOffset += lvPackageContainerFrame.size.width; 
    scrollView.contentSize = CGSizeMake(contentOffset, scrollView.frame.size.height); 

} 
+0

如果我删除行backgroundImage.center = lvPackageContainer.center ;视图被添加,但我需要设置确切的坐标来找到中心。中心有什么问题? – 2012-07-26 10:26:34

回答

1
backgroundImage.center = CCGPointMake(lvPackageContainerFrame.size.width/2, lvPackageContainerFrame.size.height/2); 

如果添加一个子视图,该坐标系是从它的父视图

开始在你的情况,当你设置中心第二种观点,它会成为像{480240}(假设视图在iphone全屏幕) 因此,第三子视图一个你可以看到实际上是页面的子视图2.

更新: 当你得到一个视图的中心,它实际上从帧计算值:

center.x = (frame.origin.x + frame.size.width)/2; 
center.y = (frame.origin.y + frame.size.height)/2; 

所以假设你的第二个观点是CGRectMake(320, 0, 320, 480),它的中心将是

center.x = (320 + 320)/2; 
center.y = (0 + 480)/2; 

所以你的子视图将在第二视图{480,240}中心。

如果你将其转换相对于滚动视图,子视图将在{(320+480),(0+240)},你会看到它是3号视图,而不是第二个一个

+0

是什么,但我不明白的是,如果在容器视图的坐标确定,当我尝试将视图添加到cgPoint其中之一(0,0)是相对父容器view.why容器的确切起源view.center失败仍mysery – 2012-07-26 19:10:13

+0

我我的答案更新 – Hanon 2012-07-27 02:34:27

相关问题