Создать UITableViewCell с текстовым полем и кнопкой? - PullRequest
1 голос
/ 10 мая 2011

Как я могу создать UITableViewCell с текстовым полем и кнопкой.Я пытался с этим кодом, но кнопка невидима, а текстовое поле - нет.

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierWithTextBox];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifierWithTextBox] autorelease];
        cell.accessoryType = UITableViewCellAccessoryNone;
        CGRect textRect = CGRectMake(10, 20, 500, 31);
        UITextField *myfield = [[UITextField alloc]initWithFrame:textRect];
        myfield.borderStyle = UITextBorderStyleRoundedRect;
        myfield.font = [UIFont systemFontOfSize:22.0];
        myfield.adjustsFontSizeToFitWidth = YES;
        myfield.minimumFontSize = 2.0;

        myfield.clearButtonMode = UITextFieldViewModeWhileEditing;
        myfield.keyboardType = UIKeyboardTypeDefault;
        myfield.autocorrectionType= UITextAutocorrectionTypeNo;
        myfield.autocapitalizationType=UITextAutocapitalizationTypeNone;
        myfield.returnKeyType=UIReturnKeyDone;


        UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        doneButton.frame = CGRectMake(520, 10, 30, 30); // position in the parent view and set the size of the button
        [doneButton setTitle:@"Registry now" forState:UIControlStateNormal];
        // add targets and actions
        [doneButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        // add to a view            

        [cell.contentView addSubview: myfield];
        [cell.contentView addSubview: doneButton];
        [doneButton release];
        [myfield release];
    }

Ответы [ 3 ]

1 голос
/ 10 мая 2011

Удалите эту строку:

[doneButton release];

Вы создаете кнопку, используя buttonWithType, которая возвращает объект с автоматическим освобождением.

0 голосов
/ 08 мая 2014

Выполните следующие действия.

doneButton.frame = CGRectMake (520, 10, 30, 30);

Проблема с вышеуказанной линией. Если вы используете это в приложении для iPhone, то его ширина составляет всего 320 пикселей. Если вы используете это в iPad, это нормально.

Сделай еще одну вещь в вышеперечисленном. Пожалуйста, добавьте цвет фона для вашей кнопки.

[doneButton setBackgroundColor: [UIColor blackColor]];

0 голосов
/ 10 мая 2011

doneButton.frame = CGRectMake (520, 10, 30, 30);

Проблема возникла в этом коде.IPhone имеет ширину 320 в портретном режиме и 480 в альбомном режиме.Если вы установите x = 520, то вы не сможете его увидеть.

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