Я не понимаю, что происходит с простым кодом.Я хочу изменить ширину UITextField
, но когда я это сделаю, он также изменит свой origin.x
.Я перепробовал много конфигураций, но не могу найти решение.
Текстовое поле в UIView
:
containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
containerView.backgroundColor = [UIColor whiteColor];
textfield = [[UITextField alloc] initWithFrame:CGRectMake(5,20,200,30)];
textfield.leftViewMode = UITextFieldViewModeAlways;
А вот код для изменения его ширины:
[UIView beginAnimations:nil context:nil];
textfield.bounds = CGRectMake(textfield.bounds.origin.x,
textfield.bounds.origin.y,
textfield.bounds.size.width + 110,
textfield.bounds.size.height);
[UIView commitAnimations];
Каждый раз, origin.x
меняется на что-то вроде -55 (но NSLog
печатает 0).Есть ли у вас какие-либо идеи?Я хотел бы всегда поддерживать то же самое origin.x
.
Спасибо за вашу помощь.