Автоматическое изменение размера uitextview в ячейке uitableview при вращении

У меня есть довольно простой UITableView, который содержит фиксированную метку с левой стороны, а затем UITextField в каждой ячейке. Мне нужно, чтобы поле uitext расширялось и сокращалось по ширине с ячейкой при вращении устройства. Я пытался установить

autoresizesSubviews = YES; autoresizingMask = UIViewAutoresizingF FlexibleWidth | UIViewAutoresizingFlexibleRightMargin;

для табличного представления, ячейка и cell.contentView, и, кажется, ни один из них не влияет на textField.

И когда я устанавливаю autoresizingMask фактического textField на FlexibleWidth и FlexibleRightMargin, тогда textField расширяется далеко от экрана независимо от ориентации.

Вот код, где я создаю textField и добавляю его в ячейку:

    int marginBetweenCellAndScreenEdge;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    marginBetweenCellAndScreenEdge = 44;
} else {
    marginBetweenCellAndScreenEdge = 10;
}

float viewWidth = self.parentViewController.view.bounds.size.width;
int textFieldWidth = viewWidth - (2*marginBetweenCellAndScreenEdge) - 75 - 20;
NSLog(@"%d", textFieldWidth);

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(90, 12, textFieldWidth, 25)];
textField.clearsOnBeginEditing = NO;
[textField setDelegate:self];
textField.returnKeyType = UIReturnKeyDone;
textField.tag = kTextFieldTag;

textField.autoresizingMask = UIViewAutoresizingFlexibleWidth;


//make it so that the UITextField subview resigns the firstresponder (keyboard) when done editing
[textField addTarget:self action:@selector(textFieldDone:) forControlEvents:UIControlEventEditingDidEndOnExit];

[cell.contentView addSubview:textField];

Любая помощь приветствуется!! Спасибо!!

0 ответов

Другие вопросы по тегам