任何人都知道如何用标签键和@符号键替换iPhone键盘上的"返回"键?Instagram在他们的评论系统中使用了这个,所以它应该是可能的,但我似乎无法在Apple文档中找到任何内容.
我正在为 iOS 开发一个自定义键盘,它将有自己的搜索字段(类似地由 PopKey 实现)。
我的键盘的文本字段能够通过使用 来获得焦点becomeFirstResponder,并且我能够通过使用 来放弃它resignFirstResponder。然而,在我放弃焦点后,尽管触摸了表单,主机应用程序仍很难重新获得焦点。应用程序的文本字段仍将显示文本光标闪烁。
有任何想法吗?谢谢
如果有人有应用程序GymBuddy,那么他们就会知道我在说什么.他们似乎使用股票数字键盘键盘但添加了"." 左下方的按钮以及顶部的一个栏可切换到字母字符.有谁知道如何做到这一点?我是否像键盘一样制作新视图并将其拉出来并使按钮对应于textField以进行输入?我似乎无法找到有关自定义键盘或创建自己的键盘的任何信息.谢谢
对于成为第一响应者的对象是否存在NSNotification.像NSNotification那样给我带来键盘弹出的UITextfield?
当iPad虚拟键盘出现时,它会覆盖我视图中的一些文本字段.当键盘出现时,有没有办法将ViewController移动?
我有一个UIToolbar包含UITextField内部的实例.我想将工具栏设置为UITextField它包含的附件视图.
我这样做的方式如下:
[myTextView setInputAccessoryView:myToolbar];
Run Code Online (Sandbox Code Playgroud)
当我编译并运行代码时,当我按下文本字段时,整个键盘都会消失.我特别确定我设定的inputAccessoryView而不是inputView.似乎整个输入视图都被替换了,没有任何明确的指示.
有谁知道解决这个问题的方法?
我有一个iPad应用程序,其中resignFirstResponder似乎没有工作.我尝试了很多解决方案.我只是从firstResponder对象的实例调用resign第一响应者,但键盘仍保留在屏幕上.我尝试通过迭代所有窗口来获取第一个响应者的实例,然后我从该实例调用resignFirstResponder.
我还尝试UIViewController为以下方法创建类别.
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
Run Code Online (Sandbox Code Playgroud)
但是这个解决方案对我来说也不起作用.并且这个键盘问题存在于所有应用的文本领域中,不仅适用于某些特定的文本字段.
更新:在应用程序的不同部分,我使用不同的代码来实现此目的.这是代码
- (void)textFieldDidEndEditing:(UITextField *)mtextField
{
[mtextField resignFirstResponder]; this one is not required but I have just write it here.
}
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string hasSuffix:@"\n"])
{
[theTextField resignFirstResponder];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
更新:当我尝试在模拟器中运行应用程序时,有时它resignFirstResponder正在运行,但即使在模拟器中也不会在每次启动时运行.
cocoa-touch objective-c uikeyboard ipad resignfirstresponder
我想知道是否有人有一个聪明的方法来检查一个对象是否类型UIKeyboard?我不能使用UIKeyboardDidShow通知,因为我使用它们来调出除键盘之外的其他inputView类,所以我必须能够区分哪个inputView当前在屏幕上(即我有一个弹出一个屏幕上有一个控制面板,可以让你改变某些东西的颜色).
使用[view isKindOfClass:[UIKeyboard class]]不起作用,因为无法识别UIKeyboard,我无法导入它的.h文件而不会出现错误.
有谁知道我能在这做什么?
我想知道如何为Skype应用程序准备类似的功能,允许用户向下拖动UITableVIew以隐藏在实时模式UIKeyboard中.您有什么建议可以解决这个问题,或者在某些cocopods之前使用过吗?
我有一个包含a的UIView UICollectionView,其中包含自定义单元格.这些自定义单元格包含a UILabel和a UITextField.自定义单元类的代码和UICollectionView委托方法之一是:
class DurationDayCells: UICollectionViewCell {
@IBOutlet weak var dayLabel: UILabel!
@IBOutlet weak var dayHourText: UITextField!
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return daysSet.count
}
func collectionView(collectionView: UICollectionView!,layout collectionViewLayout: UICollectionViewLayout!,sizeForItemAtIndexPath indexPath: NSIndexPath!) -> CGSize {
return CGSize(width: (self.durationCollectionView.frame.width/CGFloat(daysSet.count)), height:
self.durationCollectionView.frame.height)
}
Run Code Online (Sandbox Code Playgroud)
如您所见,这些单元格是根据大小动态创建和调整大小的daysSet.问题是当我点击单元格中的一个文本字段时键盘没有弹出(粉红色/红色视图是说的UIView):

我还有一个跟进问题,当我设法键盘显示(不知何故),它UIView完全阻止了粉红色/红色,是否有一种方法可以在UIView选择文本字段时将整体向上移动,这样键盘就不会阻挡它?
是否可以以编程方式从键盘应用程序或iMessage应用程序中截取屏幕截图?如果是这样,怎么样?
编辑:澄清一下,我想从键盘/ iMessage应用程序中截取整个屏幕(即当前打开的应用程序)的屏幕截图.
我试图在我的键盘上实现一个显示/隐藏,但问题是当我显示我的键盘它超过我的视图,更重要的是它超过我的文本字段和按钮,所以我可以输入,我只是不能按我的按钮.
以下是键盘前的屏幕截图:
这是键盘出现的时间:
如你所见,我看不到文字字段和按钮.
这是我的代码 viewDidLoad
NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
Run Code Online (Sandbox Code Playgroud)
以下是方法:
@objc func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y == 0{
self.view.frame.origin.y -= keyboardSize.height
}
}
}
@objc func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y += keyboardSize.height
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我的键盘会超出我的视线?以及如何解决?
uikeyboard ×13
ios ×9
iphone ×5
objective-c ×4
uitextfield ×3
cocoa-touch ×2
ipad ×2
swift ×2
uikit ×2
imessage ×1
ios5 ×1
screenshot ×1
uitableview ×1