Я сейчас в процессе реализации своего браузера в своем приложении. Тем не менее, я довольно новичок в программировании на iOS и поэтому не знаю, как программно изменить ширину текстового поля. Что происходит в текущей реализации, так это то, что текстовое поле переместится через кнопку «Назад» навигационного контроллера. Таким образом, мне нужно текстовое поле, чтобы оставить какую-то комнату слева.Изменить ширину UITextField?
Кто-нибудь знает, как это сделать? Возможно ли это?
/* Create the page title label */
UINavigationBar *navBar = self.navigationController.navigationBar;
CGRect labelFrame = CGRectMake(kMargin, kSpacer,
navBar.bounds.size.width - 2*kMargin, kLabelHeight);
UILabel *label = [[UILabel alloc] initWithFrame:labelFrame];
label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont systemFontOfSize:12];
label.textAlignment = NSTextAlignmentCenter;
[navBar addSubview:label];
self.pageTitle = label;
/* Create the address bar */
CGRect addressFrame = CGRectMake(kMargin, kSpacer*2.0 + kLabelHeight,
labelFrame.size.width, kAddressHeight);
UITextField *address = [[UITextField alloc] initWithFrame:addressFrame];
address.autoresizingMask = UIViewAutoresizingFlexibleWidth;
address.borderStyle = UITextBorderStyleRoundedRect;
address.font = [UIFont systemFontOfSize:17];
address.keyboardType = UIKeyboardTypeURL;
address.autocapitalizationType =UITextAutocapitalizationTypeNone;
address.autocorrectionType = UITextAutocorrectionTypeNo;
address.clearButtonMode = UITextFieldViewModeWhileEditing;
[address addTarget:self
action:@selector(loadRequestFromAddressField:)
forControlEvents:UIControlEventEditingDidEndOnExit];
[navBar addSubview:address];
self.addressField = address;
Другой вопрос. Если изменение вида (кнопка назад на навигационном контроллере), адресная строка не исчезает. Как я могу это сделать? – user4114789