Я использую текстовое представление как композитор комментария.
В инспекторе свойств я не могу найти ничего похожего на свойство стиля границы, чтобы я мог использовать закругленный прямоугольник, что-то вроде UITextField
.
Итак, вопрос: Как я могу стилизацию UITextView
вроде UITextField
с закругленным прямоугольником?
ios
uitextview
harshalb
источник
источник
UITextField
и просто выключитьuserInteractionEnabled
?Ответы:
Не существует неявного стиля, который вы должны выбрать, он включает в себя написание небольшого количества кода с использованием
QuartzCore
фреймворка:Это работает только на OS 3.0 и выше, но я думаю, что теперь это де-факто платформа в любом случае.
источник
UITextField
сborderStyle
набором свойств кUITextBorderStyleRoundedRect
- см мой пост ниже.этот код работал хорошо для меня:
источник
Версия Swift 3
После настройки просмотра текста в конструкторе интерфейса.
Версия Swift 2.2
источник
Редактировать: вы должны импортировать
для использования углового радиуса.
Попробуйте это, это будет работать наверняка
Как понял Роб, установив, что если вы хотите, чтобы цвет границы был похожим,
UITextField
вам нужно изменить ширину границы на 2,0 и цвет на серый, добавив следующую строкуисточник
Я хотел реальную сделку, поэтому я добавлю
UIImageView
в качестве подпредставленияUITextView
. Это соответствует родной границе на aUITextField
, включая градиент сверху вниз:Вот изображения, которые я использую:
источник
Одно из решений - добавить UITextField под UITextView , сделать
UITextView
фон прозрачным и отключить любое взаимодействие с пользователем наUITextField
. Затем в коде поменяйтеUITextField
фрейм на что-то подобноеВы будете выглядеть точно так же, как текстовое поле.
И, как предлагает Джон , вы должны поместить этот фрагмент кода
[UIViewController viewDidLayoutSubviews]
на iOS 5.0+.источник
viewDidLayoutSubviews:
(iOS 5.0+).Для лучшего эффекта вы должны использовать пользовательское (растягиваемое) фоновое изображение. Это также, как
UITextField
нарисована округленная граница.источник
Один из способов сделать это без программирования - сделать фон текстового поля прозрачным, а затем поместить круглую кнопку Rect позади него. Обязательно измените настройки кнопки, чтобы отключить ее, и снимите
Disable adjusts image
флажок.источник
Вы можете проверить мою библиотеку под названием DCKit .
Вы сможете сделать текстовое представление с закругленными углами (а также текстовое поле / кнопку / обычный текст
UIView
)Interface Builder
непосредственно из:У этого также есть много других полезных функций, таких как текстовые поля с проверкой, элементы управления с границами, пунктирные границы, представления круга и линии роста волос и т. Д.
источник
Я знаю, что на этот вопрос уже есть много ответов, но я не нашел ни одного из них достаточным (по крайней мере, в Swift). Я хотел решение, которое предоставило бы ту же самую точную границу, что и UITextField (не приблизительное, которое выглядит примерно так, как выглядит прямо сейчас, но такое, которое выглядит точно так же и всегда будет выглядеть точно так же). Мне нужно было использовать UITextField для поддержки UITextView для фона, но я не хотел создавать его отдельно каждый раз.
Решение ниже представляет собой UITextView, который предоставляет свой собственный UITextField для границы. Это урезанная версия моего полного решения (которая добавляет поддержку «заполнителя» в UITextView аналогичным образом), которая была размещена здесь: https://stackoverflow.com/a/36561236/1227119
источник
Попробовал код Quartzcore и обнаружил, что он вызывает задержку на моем старом 3G (я использую для тестирования). Не большая проблема, но если вы хотите быть как можно более инклюзивным для разных ios и аппаратного обеспечения, я рекомендую ответ Andrew_L выше - или создайте свои собственные изображения и примените их соответствующим образом.
источник
Есть отличное фоновое изображение, идентичное
UITextView
используемому для отправки текстовых сообщений в приложении Сообщения iPhone. Вам понадобится Adobe Illustrator, чтобы получить и изменить его. iphone UI векторные элементыисточник
источник
Вы можете создать текстовое поле, которое не принимает никаких событий поверх текстового представления, например:
источник
Если вы хотите, чтобы ваш код контроллера был чистым, вы можете создать подкласс UITextView, как показано ниже, и изменить имя класса в Интерфейсном Разработчике.
RoundTextView.h
RoundTextView.m
источник
Вот мое решение:
источник
Я не думаю, что это возможно. но вы можете сделать
UITableView
(сгруппированы) с 1 разделом и 1 пустой ячейкой и использовать его в качестве контейнера для вашегоUITextView
.источник
Это старый вопрос, и я также искал ответ на этот вопрос. Ответ Лювьера на 100% правильный, и позже Роб добавил код. Это отлично, но я нашел стороннюю компанию в ответе на другие вопросы, которая мне кажется очень полезной. Я не только искал подобный взгляд на
UITextField
болееUITextView
, я также искал многострочную поддержку. ChatInputSample удовлетворяет оба. Вот почему я думаю, что эта третья сторона может быть полезна для других. Также благодаря Тимуру он упомянул этот открытый исходный код здесь .источник
В iOS7 следующее идеально соответствует границе UITextField (по крайней мере, на мой взгляд):
Там нет необходимости импортировать что-то особенное.
Спасибо @uvieere и @hanumanDev, ответы на которые меня почти не оставляют :)
источник
Как насчет просто:
источник
UITextField
сuserInteractionEnabled
установленным наNO
.