Как добавить UIButtons и UILabels в прокручиваемый вид? - PullRequest
0 голосов
/ 19 августа 2011

Я видел почти все вопросы о подобных проблемах и пробовал данные ответы, но они не работают для меня. Дело в том, что у меня есть домашний вид, и у меня при нажатии есть кнопка, она добавляет новую кнопку и метку над ней, и так далее, пока вы не «заполните» область, и я хочу, чтобы она была изменяемой и прокручиваемой , так что вы можете увидеть все кнопки и вы можете увеличить масштаб, чтобы увидеть только некоторые кнопки. Я не знаю, объясняю ли я себя ясно ...

Итак, я попытался добавить все в UIView, и это не сработало, я попытался добавить все в UIScrollView, и снова это не сработало. Я не знаю, что еще делать. Я занимался этим почти всю неделю без какого-либо успеха. Я должен сказать, что я не очень опытен в этом, я только начал программировать для iOS около 4 месяцев назад, поэтому, пожалуйста, будьте терпеливы. Буду очень признателен за любую помощь или совет, которым вы можете поделиться.

Вот что я делаю:

- (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 Ответ

1 голос
/ 19 августа 2011

Что вы имеете в виду с "это не работает"? Вы пытались установить для свойства UIScrollView contentSize размер, достаточный для размещения всех кадров подпредставления?

...