从rootviewcontroller隐藏detailviewcontroller的键盘

发布于 2024-12-13 13:41:50 字数 310 浏览 2 评论 0原文

我有一个基于 spliviewcontroller 的 ipad 应用程序。当从 splitview 的 rootviewcontroller 中选择 tableviewcell 时,其详细信息将显示在 split view 的detailviewcontroller 中。在详细视图控制器中,我有 2 个文本字段和 1 个文本视图。现在,当我输入任何这些控件时,键盘就会出现。如果我点击控件外部(即详细视图内部),键盘将关闭(这是正确的)。 但如果我点击下一个表格单元格,键盘不会被关闭。 我想要的是,当我点击 rootviewcontroller 中的表格单元格时关闭键盘。 有人可以帮我吗???

I have a spliviewcontroller based ipad application. When the tableviewcell is selected from rootviewcontroller of splitview, its details are shown in detailviewcontroller of split view. In detailviewcontroller I have 2 textfields and 1 textview. Now when I type in any of these control, the keyboard comes up. If I tap outside the control (i.e inside detailview) the keyboard dismisses (which is correct).
But if i tap on next tablecell , the kayboard does not get dismissed.
What I want is , dismiss the keyboard when i tap on tablecell which is in rootviewcontroller.
Can anyone plz help me in this???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故笙诉离歌 2024-12-20 13:41:50

我已经找到了自己的答案。
在detailviewcontroller中,方法名称:

-(void) configureView
{

  if ([txtTitleView isEditing]) //txtTitle is UITextField
  {
    flag = 1;
    [txtTitleView resignFirstResponder];
  }
  else if([txtTimeUnit isEditing]) //txtTimeUnit is UITextField
  {
    flag = 1;
    [txtTimeUnit resignFirstResponder];
  }
  else if(isTextViewEditing) //isTextViewEditing is a boolean variable
  {
    flag = 1;
    [txtSummaryView resignFirstResponder];
  }
  else
    flag = 0;
  }

这样键盘就会消失,并且调用textfield或textview的委托方法。

I have found an answer of my own.
In detailviewcontroller,method name:

-(void) configureView
{

  if ([txtTitleView isEditing]) //txtTitle is UITextField
  {
    flag = 1;
    [txtTitleView resignFirstResponder];
  }
  else if([txtTimeUnit isEditing]) //txtTimeUnit is UITextField
  {
    flag = 1;
    [txtTimeUnit resignFirstResponder];
  }
  else if(isTextViewEditing) //isTextViewEditing is a boolean variable
  {
    flag = 1;
    [txtSummaryView resignFirstResponder];
  }
  else
    flag = 0;
  }

this way the keyboard gets dismissed, and the delegate methods of textfield or textview gets called.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文