В настоящее время я пытаюсь настроить поле UISearchText. Я столкнулся с одной проблемой: cornerRadius применяется только после того, как приложение было отправлено в фоновый режим и возвращено на передний план. Я что-то упускаю, что cornerRadius также изначально применяется?
Это мой код для настройки:
final class TransactionSearchController: UISearchController {
private lazy var customSearchBar = TransactionSearchBar()
override var searchBar: UISearchBar { customSearchBar }
init(colorScheme: ColorScheme) {
super.init(searchResultsController: nil)
self.obscuresBackgroundDuringPresentation = true
self.searchBar.barTintColor = colorScheme.backgroundColor
self.searchBar.searchTextField.backgroundColor = UIColor.colorWithLight(
Color.Input.background,
dark: Color.black.withAlphaComponent(0.5)
)
self.searchBar.searchTextField.borderStyle = .none
self.searchBar.searchTextField.tintColor = Color.blue
self.searchBar.searchTextField.leftView?.tintColor = Color.blue
self.searchBar.searchTextField.font = Font.contentText
self.searchBar.searchTextField.layer.cornerRadius = 6.0
self.searchBar.searchTextField.layer.applyShadow(
offset: CGSize(width: 0.0, height: 6.0),
radius: 5.0,
opacity: 0.2
)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Этот метод вызывается в viewWillAppear
родительского ViewController. но я тоже попробовал с viewDidLoad