Как назначить имена для динамически создаваемых объектов в приложении iPad - PullRequest
0 голосов
/ 13 марта 2012

Я создаю приложение для iPad, в этом я динамически создаю интерфейс в устройстве, вот код.

- (void)setUpInterface{
    UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 10,self.view.frame.size.width-20, self.view.frame.size.height-20)];   

    int y = 0;
    for (int i=0; i < [labelArray count]; i++) {
        y=y+75;
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, y, 500, 30)];
        label.text = [NSString stringWithFormat:@"%@",[labelArray objectAtIndex:i]];
        label.backgroundColor = [UIColor clearColor];
        label.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth;
        [scrollview addSubview:label];

        UITextField *textBox = [[UITextField alloc]initWithFrame:CGRectMake(200, y, 500, 30)];
        textBox.borderStyle = UITextBorderStyleRoundedRect;
        textBox.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth;
        [scrollview addSubview:textBox];
    }

    scrollview.contentSize = CGSizeMake(self.view.frame.size.width-100, y*2);
    scrollview.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
    scrollview.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth;

    [self.view addSubview:scrollview];

}

В конце, когда я нажимаю на кнопку, я хочу получить данные, введенные в каждое текстовое поле отдельно. Как я могу это реализовать? Как назначить имена каждому объекту? Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 марта 2012
for (UITextField *textField in [self.scrollview subviews])
{
    if([textField isKindOfClass:[UITextField class]])
     {
        NSLog(@"text == %@", textField.text);
     }
}
0 голосов
/ 13 марта 2012

Сделать текстовые поля переменными-членами для доступа к ним из любого метода.

0 голосов
/ 13 марта 2012

Вы можете использовать свойство тега.т.е.:

textBox.tag = 1;
textBox.tag = 2;
etc.

К сожалению, это должны быть целые числа, но вы можете сделать карту целых чисел с именами, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...