swift - UITextfield 键盘外观的扩展
问题描述
在我的应用程序中,我将添加不同的主题,但现在,我想编写一个可以处理扩展程序中的键盘外观的扩展程序。第一步,我只想控制它的外观,所以我设置它应该是.dark
但它不起作用。你能告诉我这个简单扩展的问题在哪里吗?我只想让它自动更改键盘外观而不做任何其他事情
extension UITextView {
var keyboardApperance: UIKeyboardAppearance? {
get {
return self.keyboardAppearance
}
set {
self.keyboardAppearance = .dark
}
}
}
解决方案
仅创建扩展不会更改您的UITextView
属性。
您可以创建自己的自定义UITextView
并使用它来代替 UITextView。
如果您使用故事板或 xib,请不要忘记设置您的课程。
@IBDesignable
public class CustomDarkTextView: UITextView {
public override init(frame: CGRect, textContainer: NSTextContainer?) {
super.init(frame: frame, textContainer: textContainer)
setup()
}
public convenience init(frame: CGRect) {
self.init(frame: frame, textContainer: nil)
setup()
}
public convenience init() {
self.init(frame: CGRect.zero, textContainer: nil)
setup()
}
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup() {
self.keyboardAppearance = UIKeyboardAppearance.Dark
}
}
推荐阅读
- python - 如何删除应用程序选项卡周围的白线?
- python - (ddd mm.m)的手动输入转换为弧度或十进制度?在蟒蛇
- android - 当我尝试解析布局时,我得到 android.content.res.Resources$NotFoundException: Resource ID #0x0
- python - 在 Tensorflow 2 中使用 NON-TFRecord 协议缓冲区
- angular - 如何在动态显示列单元格值的情况下有条件地更改 mat-cell 行的内容
- pandas - 创建“指数平滑”变量 - Pandas
- debugging - 在本地机器上调试驱动程序
- c# - C# Winforms 具有单独自动滚动的多个面板
- javascript - 如何调用 Javascript 到 c#
- azure-data-factory - 如何过滤我的源数据集以仅将特定值复制到我的接收器?