Закругленные углы встроенного UITextView — что (неправильно) делает углы непрозрачными?

ПРИМЕЧАНИЕ. Я отредактировал это для ясности после выяснения решения (ниже).

В построителе интерфейса я встроил UIView в другой UIView и связал их с соответствующими UIViewControllers, EmbeddedViewController и MainViewController. Затем я поместил UITextView во встроенный UIView и создал ссылку на него в EmbeddedViewController.

В MainViewController я программно установил view.backgroundColor = UIColor.lightGray. В EmbeddedViewController я установил textView.backgroundColor = UIColor.white и textView.layer.cornerRadius = 50. Используя эти цвета, оказалось, что углы не были закруглены. Но когда я установил textView.backgroundColor = UIColor.red, было очевидно, что скругление сработало, но углы чего-то были непрозрачно-белыми. Проблема в том, что я не знаю, что это такое, и, испробовав несколько вариантов, я все еще не знаю, что мне нужно исправить.

Похоже, ни один из предыдущих вопросов не касался этой конкретной проблемы (т. Е. Непрозрачности вокруг закругленных углов UITextView во встроенном UIView), но если я что-то пропустил, пожалуйста, побейте меня за то, что я недостаточно старался. В противном случае я был бы доволен либо конструктором интерфейсов, либо программным решением.

Вот изображение (по запросу), на котором textView.backgroundColor = UIColor.red:

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


person Optimalist    schedule 10.01.2019    source источник
comment
попробуйте обрезать границы, установленные true для textview   -  person canister_exister    schedule 10.01.2019
comment
Есть скриншоты?   -  person Glenn Posadas    schedule 10.01.2019
comment
Я попробовал это (снова), canister_exister. textView.clipsToBounds = true не повлияло.   -  person Optimalist    schedule 11.01.2019
comment
Гленн, я думаю, на картинке проблема кажется более осязаемой. Спасибо!   -  person Optimalist    schedule 11.01.2019


Ответы (1)


Проблема заключалась в том, что я неправильно полагал, что внедрил UITextView, хотя на самом деле я внедрил UIView, который содержит UITextView. Таким образом, вместо двух представлений, с которыми приходится иметь дело, на самом деле их три: представление MainViewController, представление EmbeddedViewController и textView EmbeddedViewController. Итак, чтобы закруглить углы UITextView, вот разумный подход:

В EmbeddedViewController установите view.layer.cornerRadius = 50 и установите view.clipsToBounds = true. Поскольку UITextView является подвидом встроенного UIView, textView обрезается до границ представления.

При этом вышеперечисленных белых областей больше нет.

person Optimalist    schedule 11.01.2019