我无法在 Swift iOS 中创建 UIResponder nextResponder

Posted

技术标签:

【中文标题】我无法在 Swift iOS 中创建 UIResponder nextResponder【英文标题】:I can't create UIResponder nextResponder in Swift iOS 【发布时间】:2014-10-22 14:37:05 【问题描述】:

我有一个类 ASTextField,它在 UITextField 之后扩展,我想定义 textFieldResponder。

有什么解决方案可以在 Swift 中写下一行吗??

UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];

下面哪个是Objective-C写的?

-(BOOL)textFieldShouldReturn:(UITextField*)textField;

  NSInteger nextTag = textField.tag + 1;
  // Try to find next responder
  UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
  if (nextResponder) 
    // Found next responder, so set it.
    [nextResponder becomeFirstResponder];
   else 
    // Not found, so remove keyboard.
    [textField resignFirstResponder];
  
  return NO; // We do not want UITextField to insert line-breaks.

【问题讨论】:

【参考方案1】:

会是这样的

let nextResponder = textField.superview?.viewWithTag(nextTag) as UIResponder!

希望对你有帮助!

【讨论】:

我收到一个错误:“UIView?没有名为'viewWithTag'的成员” :( textField.superview 是什么类? 试试这个也让 nextResponder = textField.superview?.viewWithTag(nextTag) as UIResponder! 对不起,我的错!我在 UIView、UITextFieldDelegate 之后扩展:/ 但是您在评论中的回答有帮助,我没有“构建失败”,但我仍然无法进入下一个 TextField ;/ 只能关闭键盘

以上是关于我无法在 Swift iOS 中创建 UIResponder nextResponder的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS Swift4 中创建这个圆形?

如何使用swift2在ios9中创建jabberd xmpp客户端

无法在 CoreData 子类中创建新属性? iOS8 Swift3

如何使用 Swift 4 在 iOS 9+ 中创建瀑布布局

无法在 Swift 中创建文件路径

无法在 swift 文件中创建上下文