как избежать точек рядом с полем uitextfield - PullRequest
2 голосов
/ 20 июля 2010

Возможно ли удалить точки, которые отображаются рядом с полем uitext, когда текст больше ширины поля uitext.

Ответы [ 3 ]

1 голос
/ 26 августа 2013

Это возможно, если вы делаете клавиатуру видимой, вызывая следующий код

[self.yourTextField intoFirstResponder];

Затем текст большего размера обрезается слева.

вы также можетескрыть клавиатуру [если вы используете любую пользовательскую клавиатуру], используя следующий код

// Hide keyboard for Dial Pad, but show blinking cursor
UIView *dummyKeyboardView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
yourTextField.inputView = dummyKeyboardView;
[dummyKeyboardView release];
0 голосов
/ 26 ноября 2013

Я перепробовал множество способов и, наконец, пришел к следующему решению.

UITextField не имеет свойства lineBreakMode, поэтому просто переопределите следующий метод в UITextField:

-(CGRect)textRectForBounds:(CGRect)bounds{

    CGRect rect = bounds;
    rect.size.width = rect.size.width;
    return rect;
}

Примечание: я не знаю как, но это работает.

0 голосов
/ 20 июля 2010

Существует свойство lineBreakMode, которое определяет поведение, когда отображаемый текст больше, чем поле элемента управления

//UILineBreakMode
//Options for wrapping and truncating text.

typedef enum {
 UILineBreakModeWordWrap = 0,
 UILineBreakModeCharacterWrap,
 UILineBreakModeClip,
 UILineBreakModeHeadTruncation,
 UILineBreakModeTailTruncation,
 UILineBreakModeMiddleTruncation,
} UILineBreakMode;

Если вы не хотите использовать какие-либо точки, вы можете использовать UILineBreakModeClip , который просто обрезает текст в конце.Apple Doc говорит следующее:

Обрезать текст, когда достигнут конец прямоугольника рисования.Эта опция может привести к частично визуализированному символу в конце строки. Доступно в iPhone OS 2.0 и более поздних версиях.

Хотя это, конечно, зависит от того, как вы хотите отобразить текст.Поскольку в любом случае вы не можете отобразить весь текст, точки, как правило, являются более выразительными, чем необработанный разрыв.

Если вам требуется, чтобы абсолютно весь текст был видимым, вы должны либо расширить width поля или height (и используйте UILineBreakModeCharacterWrap ), или, возможно, уменьшите размер шрифта (в крайнем случае).

Быстрый поиск в Google насубъект вытащил это Как заставить UILabel / UITableViewCell иметь динамическую высоту

...