2011-08-19 66 views
0

我几乎看到有关类似问题的所有问题,并尝试给出答案,但它们不适合我。问题是:我有一个主视图,并且我有一个按钮,点击后,它会在它上面添加一个新按钮和一个标签,等等,直到您“填充”该区域,并且我希望它可以调整大小和滚动,所以你可以看到所有的按钮,你可以放大只看到一些按钮。我不知道我是否清楚地解释自己...如何将UIButtons和UILabels添加到可滚动视图?

所以,我试图添加一切到一个UIView,它没有工作,我试图添加一切到一个UIScrollView,并且它没有工作。我不知道还有什么要做。我几乎整个一周都在处理这个问题,但没有取得任何成功。我不得不说我对此并不是很有经验,我刚刚在4个月前开始为iOS编码,所以请耐心等待。我真的很感激任何帮助或指导,你可以分享。

下面是我在做什么:

- (IBAction) doneAdding:(id) sender{ 
     boxes = boxes+1; 
     UIButton *newBox = [UIButton buttonWithType:UIButtonTypeCustom]; 
     UIImage *boxImage = [UIImage imageNamed:@"bluecube.jpg"]; 

    if (boxes <= 4) { 
    switch (boxes) { 
     case 1: 
      newBox.frame = CGRectMake(519, 356, 162, 163); 
      break; 
     case 2: 
      newBox.frame = CGRectMake(681, 519, 162, 163); 
      break; 
     case 3: 
      newBox.frame = CGRectMake(357, 519, 162, 163); 
      break; 
     case 4: 
      newBox.frame = CGRectMake(519, 844, 162, 163); 
      break; 
      default: 
      break; 
    } 

    [newBox setBackgroundImage:boxImage forState:UIControlStateNormal]; 
    [newBox addTarget:self action:@selector(goToProject:) forControlEvents:UIControlEventTouchUpInside]; 
    [homeView addSubview:newBox]; 


      //I get the text of the label from a textfield 
    UILabel *nameLabel= [ [UILabel alloc ] initWithFrame:CGRectMake(480.0,500.0, 150.0, 43.0) ]; 
    [[NSUserDefaults standardUserDefaults] setObject: newName.text forKey: @"SomeRandomText"]; 
    nameLabel.textAlignment = UITextAlignmentCenter; 
    nameLabel.textColor = [UIColor blackColor]; 
    nameLabel.backgroundColor = [UIColor clearColor]; 
    nameLabel.font = [UIFont fontWithName:@"Helvetica" size:(12.0)]; 
    nameLabel.text = [NSString stringWithFormat:@"%@", newName.text]; 
    [homeView addSubview:nameLabel]; 
    [newName release]; 


    }else { 
     NSLog(@"No more boxes allowed"); 
    } 
} 

回答

1

你是什么意思与“它不工作”?您是否尝试将UIScrollViewcontentSize属性设置为足够大以包含所有子视图的帧?

+0

是的,我做了,但它不会滚动。我检查了所有必须在IB上检查的复选框,但没有运气。 –

+0

我没有在那里看到任何'[homeView setContentSize:]'。 – MrMage

+0

我没有设置它的程序,我说IB内部...有什么区别吗? –

相关问题