У меня есть довольно простой 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];
Любая помощь будет принята с благодарностью!!Спасибо !!