gpt4 book ai didi

iOS 8 - 如果您按下 iPad 上的主屏幕按钮并返回,键盘会改变颜色

转载 作者:可可西里 更新时间:2023-11-01 04:01:36 25 4
gpt4 key购买 nike

复制:

  1. 创建一个空白的单 View 项目
  2. 将一个 TextField 拖到 Canvas 上
  3. 将 TextField keyboardAppearance 设置为深色
  4. 在 iPad(设备或模拟器)上运行应用
  5. 触摸 TextField 调出键盘(黑色)
  6. 按主页,然后返回应用
  7. 请注意键盘颜色发生变化(变为白色)。

大概是键盘颜色发生变化以匹配背景。然而,在这种情况下,一些键仍然是黑色的,所以这似乎是 iOS 中的一个错误(参见随附的屏幕截图)。

有人愿意阐明这一点吗?我们正在使用一种解决方法,其中涉及隐藏键盘并重新显示它,但这并不理想。

enter image description here

最佳答案

此代码可以在按下主页按钮时关闭键盘,并在应用重新启动时将其恢复。您需要将 UITextFields delegate 设置为 View Controller :

class ViewController: UIViewController, UITextFieldDelegate {

private var _textField: UITextField!
private var _isFirstResponder: Bool!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

NSNotificationCenter.defaultCenter().addObserver(self,
selector: "didBecomeActiveNotification:", name: UIApplicationDidBecomeActiveNotification, object: nil)

NSNotificationCenter.defaultCenter().addObserver(self,
selector: "willResignActiveNotification:", name: UIApplicationWillResignActiveNotification, object: nil)

}

deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func didBecomeActiveNotification(nofication: NSNotification) {
if _isFirstResponder? == true {
_textField?.becomeFirstResponder()
}
}

func willResignActiveNotification(nofication: NSNotification) {
if _textField?.isFirstResponder() == true {
_isFirstResponder = true
_textField?.resignFirstResponder()
} else {
_isFirstResponder = false
}
}

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
_textField = textField
return true
}

}

关于iOS 8 - 如果您按下 iPad 上的主屏幕按钮并返回,键盘会改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com