GVKun编程网logo

resignFirstResponder与endEditing的键盘解雇(grand response键盘)

25

对于想了解resignFirstResponder与endEditing的键盘解雇的读者,本文将是一篇不可错过的文章,我们将详细介绍grandresponse键盘,并且为您提供关于7、ADesigno

对于想了解resignFirstResponder与endEditing的键盘解雇的读者,本文将是一篇不可错过的文章,我们将详细介绍grand response键盘,并且为您提供关于7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity U...、becomeFirstResponder有时无法在ios 10上打开键盘、com.intellij.uiDesigner.designSurface.FirstComponentInsertLocation的实例源码、com.intellij.uiDesigner.propertyInspector.editors.string.StringEditorDialog的实例源码的有价值信息。

本文目录一览:

resignFirstResponder与endEditing的键盘解雇(grand response键盘)

resignFirstResponder与endEditing的键盘解雇(grand response键盘)

在斯威夫特,双方[someTextField].resignFirstResponder()self.view.endEditing(true)完成相同的任务-
对用户隐藏的观点和任何文本字段,用它去聚焦键盘。我知道前者特定于特定字段,而后者涵盖了整个视图,但是除了希望针对特定的文本字段之外,什么时候相对于另一文本字段是首选/推荐的?

答案1

小编典典

someTextField.resignFirstResponder()

resignFirstResponder()当您确切知道哪个文本字段是第一响应者并且想辞职其第一响应者状态时,可以使用该方法。这可能比其他方法要有效一些,但是如果您要执行一些操作(例如创建自定义控件),那么这很有意义。例如,也许您有一个文本字段,并且当按下“下一步”按钮时,您想摆脱键盘并显示一个日期选择器。在这里,我肯定会用resignFirstResponder()

self.view.endEditing(true)

通常,无论出于何种原因,无论当前发生什么情况,我都绝对需要清除键盘时,通常会保留这种情况。也许,我有一个滑盖菜单?就在这一切发生之前,无论发生什么情况,键盘都应该消失,因此我将确保
一切都
退出其第一响应者状态。重要的是要注意,endEditing()它将遍历子视图的整个层次结构,并确保无论第一响应者是什么,都将退出其状态。resignFirstResponder()如果您已经有了对第一个响应者的具体引用,这会使调用它的效率降低,但是如果没有,则比找到该视图并让其辞职更容易。

7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity U...

7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity U...

来源EDB2018---EDB

一、摘要:

组推荐是将一种项目(例如产品、服务)推荐给由多个成员组成的组的方法。

最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群体不满意的项目,但存在推荐准确率低的缺点。

均值法推荐精度较高,但是不能考虑群体的不满意项目。

本文提出一种基于机会成本和个人活动的群组推荐方法,【机会成本,当选择特定项目时所丢弃的剩余项目的最大值】,其优点:考虑了准确度以及满意度。

二、介绍:

协同过滤是一种传统的推荐算法,可以给用户推荐新的项目。

推荐方法主要分为两类:(1)个人推荐(2)组推荐

群组推荐旨在……,但是代表性的群组推荐方法包括最小痛苦、最大快乐、均值等。其中,最小痛苦方法会推荐群组不满意的项目,但存在推荐准确率低的缺点。

本文考虑群组的不满意程度,考虑机会成本和个人活动,提出一种提高准确度的群体推荐方法。

三、相关研究:

1、推荐过程:

群组推荐过程分为三个阶段:群组搜索、群组建模和群组评分预测。

  • 组搜索【理解成群组发现】:考虑推荐项目的形成群组,通常将具有相似偏好的用户分到同一组。
  • 群组建模:融合组中各个成员的偏好形成群组偏好。
  • 群组评分预测:生成群组队每一个项目的预测评分,然后根据预测的评分对群组进行推荐。

2、机会成本和个人活动:

机会成本指用户放弃任何项目的最高价值。利用机会成本意味着当有几种备选方案可供选择时作出合理的决策。

在【6】中,在确定旅行地点的情况下,他们通过根据成员的角色改变权重来将权重应用于偏好计算,但是很难计算成员在组中的角色。

在【7】中,提出了一种通过每个成员之间的社会联系来设置不同的权重,但是在一些情况下,不能讲友谊看成相对关系。

3、协同过滤CF:

协同过滤是对目标用户推荐与其具有相似偏好的用户喜欢的项目,用户之间的相似度度量是通过用户过去购买项目的偏好项目信息来度量的。

 

上图显示了通过CF进行群组推荐的示例,组和组之间的相似度可以通过融合的组偏好来计算。上图中,组1对项目4的偏好可以通过组1和组2、组3的相似度来计算。

4、矩阵分解MF和交替最小二乘法

MF是一种挖掘用户-项目之间隐性关系的预测评分的方法,其具有高准确度。【8】

 

ALS是一种MF优化方法。计算是分布式的。【9】

5、Hadoop和Spark

四、基于激活成本和个人活动的群组推荐方法

1、群组搜索:K-均值聚类

在群组推荐中,采用K-均值聚类方法构造具有相似偏好成员的群组,计算欧几里得距离。

2、组建模:机会成本和损失

K-均值聚类得到的群组表示为 G = {g1,g2,g3……,gk},K = 1,2,……,【K表示K个组】

组的评分 rgki 设为群组成员的均分:【rgki 表示为第k组对第i个项目的评分】【r ulki表示第k组的第l个用户对项目i的评分】

为了获得 群组中每个成员的机会成本 ,先在群组评分中搜索具有最高价值的项目,然后将搜索得到的项目的个人评分作为每个成员的机会成本。

通过选择的特定项目,可从不满程度的每个成员的评分中减去机会成本,从而获得损失。该值越大,群组选择所产生的不满情绪越大。因此,损失越大,在评分中所要求的权重越小,且权重越大,就越有可能提出考虑小组成员不满意的建议。

以上l gki表示某个特定项目i的机会成本损失,第k组第l个成员的个人活动均值,c表示第k组第l个成员的机会成本。L表示K群组中的人的总数。

 

3、组建模:个人活动

为了测量群组中每个成员的影响,这里定义重复性和帮助性准则。

  • 重复性是通过群组中每个用户评估项目数量来度量的,且其参与小组活动的程度。

|GI|是组G所有成员评估项目的数量。|Sum|是群组G={u1,u2,……,um}中第m个用户对项目评估的数量。E表示评估的重复性:

评估的有用性是指由某一组中由特定成员对其他成员的评估文本内容,对其进行归一化:H即用户m的评估有用性。

 

 群组G成员的个人活动PA被定义为PA:

4、偏好评估的准则:

RMSE(均方根误差)

 

becomeFirstResponder有时无法在ios 10上打开键盘

becomeFirstResponder有时无法在ios 10上打开键盘

我正在使用代码创建本机触摸ID警报:

let context = LAContext()

    guard deviceCanUsetouchId(context: context) else {
        return
    }

    presentingalert = true
    [context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics,localizedReason: "touch_id_auth_message".localized(),reply: { [uNowned self] success,error -> Void in
        self.presentingalert = false
        self.canPresentAlert = true

        dispatch_async(dispatch_get_main_queue()) {    
            completionHandler?(success)
        }
    })]

调用本机Touch ID警报的按钮处理程序如下所示:

@IBAction func touchUpInsideUsetouchIdButton(sender: AnyObject) {
    ACTouchId.sharedManager.authenticateWithTouchId(completionHandler: { [weak self] in
        self?.handletouchIdAuthentication(granted: $0)
        })

    view.endEditing(true)
}

这是handletouchIdAuthentication的代码:

private func handletouchIdAuthentication(granted granted: Bool) {
    if granted {
        //...
    } else {
        passcodeDigitTextField1.becomeFirstResponder()
    }
}

问题是,大多数情况下,当我取消Touch ID本机对话框时,警报正确解除并且winsFirstResponder()正常工作.

但是,在10次左右,lastFirstResponder()返回true,passcodeDigitTextField1获得焦点,但键盘不会出现.此外,即使我通过点击将焦点更改为其他文本字段,键盘也不会显示.

扼杀,这适用于ios 9和8.该问题仅在iOS 10上发生.

解决方法

正如Rajan所说:

Just a hack. Can you just do
passcodeDigitTextField1.becomeFirstResponder() in a function and call
that function with a delay of 0.25 or 0.5 seconds using
performSelector and tell the result –

这工作,我最终延迟了0.01

我不会标记这个答案,因为这只是一种解决方法.

com.intellij.uiDesigner.designSurface.FirstComponentInsertLocation的实例源码

com.intellij.uiDesigner.designSurface.FirstComponentInsertLocation的实例源码

项目:intellij-ce-playground    文件:RadGridBagLayoutManager.java   
@NotNull
@Override
public ComponentDropLocation getDropLocation(@NotNull RadContainer container,@Nullable final Point location) {
  if (getGridRowCount(container) == 0 && getGridColumnCount(container) == 0) {
    return new FirstComponentInsertLocation(container,new Rectangle(0,container.getWidth(),container.getHeight()),0);
  }
  return super.getDropLocation(container,location);
}
项目:tools-idea    文件:RadGridBagLayoutManager.java   
@NotNull
@Override
public ComponentDropLocation getDropLocation(@NotNull RadContainer container,location);
}
项目:consulo-ui-designer    文件:RadGridBagLayoutManager.java   
@NotNull
@Override
public ComponentDropLocation getDropLocation(@NotNull RadContainer container,location);
}

com.intellij.uiDesigner.propertyInspector.editors.string.StringEditorDialog的实例源码

com.intellij.uiDesigner.propertyInspector.editors.string.StringEditorDialog的实例源码

项目:intellij-ce-playground    文件:ForminspectionUtil.java   
public static void updateStringPropertyValue(GuiEditor editor,RadComponent component,IntroStringProperty prop,StringDescriptor descriptor,String result) {
  if (descriptor.getBundleName() == null) {
    prop.setValueEx(component,StringDescriptor.create(result));
  }
  else {
    final String newKeyName = StringEditorDialog.saveModifiedPropertyValue(editor.getModule(),descriptor,editor.getStringDescriptorLocale(),result,editor.getPsiFile());
    if (newKeyName != null) {
      prop.setValueEx(component,new StringDescriptor(descriptor.getBundleName(),newKeyName));
    }
  }
  editor.refreshAndSave(false);
}
项目:tools-idea    文件:ForminspectionUtil.java   
public static void updateStringPropertyValue(GuiEditor editor,newKeyName));
    }
  }
  editor.refreshAndSave(false);
}
项目:consulo-ui-designer    文件:ForminspectionUtil.java   
public static void updateStringPropertyValue(GuiEditor editor,newKeyName));
    }
  }
  editor.refreshAndSave(false);
}

关于resignFirstResponder与endEditing的键盘解雇grand response键盘的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity U...、becomeFirstResponder有时无法在ios 10上打开键盘、com.intellij.uiDesigner.designSurface.FirstComponentInsertLocation的实例源码、com.intellij.uiDesigner.propertyInspector.editors.string.StringEditorDialog的实例源码等相关内容,可以在本站寻找。

本文标签: