Intereting Posts
Как мне создать страницу ASP.NET для iOS для загрузки двоичного фрагмента данных? ERROR ITMS-90363 "Недопустимый ключ Info.plist. Ключ «CFBundleIcons ~ iPad в комплекте … недействителен». Восстановите устройство до версии ОС, указанной ниже, или обновите до последней версии iOS SDK правильно преобразовать hex в base64 UIImagePickerController overlayview перевернуто в превью Mapview в UITableviewcell падает в iOS7 Чтение сложных ответов сокетов Аутентификация пользователя в мобильном приложении UITableViewController прокручивается слишком далеко с большим нижним колонтитулом таблицы Почему кнопки перемотки назад и быстрой перемотки, показанные на MPMediaPlayerController, когда контент является потоком? Проверьте, существует ли файл на устройстве с помощью Phonegap Добавить запись CallKit без инициирования собственного пользовательского интерфейса Как установить делегат на себя внутри функции init? «Индекс вне диапазона» Пока освежающий стол – Swift Автоматическое сохранение в NSStrings

Шрифт заполнителя шрифта создает проблему

введите описание изображения здесь

Я добавил кнопку, как rightView, в текстовое поле.

Я установил атрибутный текст с пользовательским шрифтом в качестве текста-заполнителя.

Мое текстовое поле и текстовый шрифт разные.

Но когда текст текстового поля большой, и если я выберу весь текст и удалю его, он не покажет мне текст заполнителя в его шрифте. Он отображается в текстовом шрифте текстового поля.

Подробное объяснение:

  • Текстовый шрифт текстового поля: OpenSans Bold 18.0
  • Текстовый шрифт My Textfield: OpenSans 18.0 (Regular)

Но когда я выбираю текст дыр (большой) и удаляю текст, он показывает текст владельца места в: OpenSans Bold 18.0

Но он должен показывать текст владельца места в: OpenSans 18.0 (Regular)

введите описание изображения здесь

Я думаю, вам придется устанавливать шрифт каждый раз, когда заполнитель появляется / исчезает. Установите делегат текстового поля и добавьте этот код …

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let length = (textField.text?.characters.count)! + (string.characters.count - range.length) // If there is text in the text field if (length > 0) { // Set textfield font textField.font = UIFont(name: "OpenSans Bold", size: 18) } else { // Set textfield placeholder font (or so it appears) textField.font = UIFont(name: "OpenSans Regular", size: 18) } return true; } 

Obj-C:

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { // If there is text in the text field if (textField.text.length + (string.length - range.length) > 0) { // Set textfield font textField.font = [UIFont fontWithName:@"OpenSans Bold" size:18]; } else { // Set textfield placeholder font (or so it appears) textField.font = [UIFont fontWithName:@"OpenSans Regular" size:18]; } return YES; }