Как говорится в названии, у меня проблема, когда края моего UITextField
имеют все большее черное пространство, чем больше текста, который я надел. Причиной может быть метод делегатаРасширение черных линий на краях UITextField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
CGFloat textWidth = [[NSString stringWithFormat:@"%@%@",[textField text], string] sizeWithFont:[textField font]].width;
textWidth += 15;
CGRect tFFrame = [textField frame];
tFFrame.size.width = textWidth;
textField.frame = tFFrame;
return YES;
}
Я понятия не имею, почему это происходит, и поставит скриншоты в случае я не объясняющие его достаточно хорошо.
Перед черных линиями
черные линии начали
Черных линий держать заполнение пространства дольше текст получает
Пожалуйста, помогите!
Не относится к прямой проблеме, но ваш расчет 'textWidth' недействителен. Он не будет работать, если пользователь вставляет текст в текстовое поле или удаляет текст. И изменение рамки текстового поля в методе 'shouldChangeCharactersInRange:' - плохая идея. – rmaddy
@rmaddy Я делаю это, потому что кажется, что единственный способ получить текстовое поле для расширения по горизонтали при наборе текста. Я мог бы немного подправить его. – Minebomber