美文网首页
按钮与交互-使用按钮触发操作

按钮与交互-使用按钮触发操作

作者: iOSDevLog | 来源:发表于2019-02-28 17:23 被阅读7次

在本节中,我们将介绍一个重要且简单的元素,即按钮。这个小元素可以改变整个UX。我们将使用该按钮来缩放我们的3D模型。此外,我们将尝试更改手机的壁纸。对于您的型号,如果您有不同的材质或颜色,您也可以更改它。

下载按钮和互动

要学习本教程,您需要Xcode 10。您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。

设置

现在,您可以更改项目名称并添加应用程序图标。在设置页面中,将显示名称更改为角度AR或所需名称。在资产目录中,将应用程序图标从assets文件夹拖放到选定的插槽中。

主要故事板

我们在屏幕上放置一些按钮。使用模板,主故事板附带一个ARSCNView,我们无法在其上放置按钮。首先,删除ARSCNView并放置UIView。拥有UIView,允许我们放置这3个按钮并添加约束。这是按钮的约束:

按钮 约束
PlaceScreen 左:46点 / 底部:28点
加号按钮 水平中心 / 底部:28点
减号按钮 右:46点 / 底部:28点

放置按钮后放回ARSCNView,并将约束条件设置为0,即四边。确保约束视图的每一侧而不是安全区域。取消选中Constrain到边距。在布局中,将ARSCNView放在View下方,否则按钮将不会显示。

约束

IBAction为

现在我们有了按钮,我们需要给它们功能。通过单击右上角带有双圆圈的图标启用助理编辑器。您将看到我们同时拥有主故事板和代码。在swift文件中,您将看到一个与之前的ARSCNView链接的IBOutlet。由于我们删除了那个,将新的ARSCNView链接到该Outlet

让我们通过按住Control创建3个IBAction 并拖动ARSCNView Outlet 声明正下方的每个按钮。

选择:IBAction将它们命名为:plusButtonTapped,minusButtonTapped和placeScreenButtonTapped类型:UIButton

IBActions

类变量

2个第一个按钮的目的是能够调整我们的3D模型的大小。问题是iPhoneNode的声明是渲染器方法的局部变量。解决方案是声明另一个变量并使其成为与iPhoneNode相同的节点。在根级别和渲染器内声明变量iPhoneXNode,将2个变量匹配在一起。

var iPhoneXNode = SCNNode()

把这一行放在最后。

iPhoneXNode = iPhoneNode
iPhoneNodeChild

变换

IBAction的括号内,您可以放置​​指定按钮的功能。对于plusButtonTapped,声明一个常量,这是一个缩放操作,并将数量设置为2x,持续时间为2秒。让iPhoneXNode运行此操作。对minusButtonTapped重复相同的步骤,但不是将模型缩放2x,而是将其更改为0.5。

@IBAction func plusButtonTapped(_ sender: UIButton) {
    let scalePlus = SCNAction.scale(by: 2, duration: 2)
    iPhoneXNode.runAction(scalePlus)
}

@IBAction func minusButtonTapped(_ sender: UIButton) {
    let scaleMinus = SCNAction.scale(by: 0.5, duration: 2)
    iPhoneXNode.runAction(scaleMinus)
}

切换材质

对于最后一个按钮,我们将更改3D模型的漫反射材质。在我们的例子中,这意味着我们正在改变iPhone的屏幕。调用节点并访问其漫反射材质。然后,转到art.scnassets并找到不同的屏幕。对我们来说,它是AR-Screen.png

@IBAction func placeScreenButtonTapped(_ sender: Any) {
    iPhoneXNode.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "art.scnassets/AR-Screen.png")
}

结论

在本节中,我们学习了如何在Storyboard中放置按钮并约束它们。此外,我们将它们连接到代码,这样我们就可以提供功能。到目前为止,您可以使用按钮执行许多令人惊叹的事情。

原文: https://designcode.io/arkit-buttons

相关文章

  • 按钮与交互-使用按钮触发操作

    在本节中,我们将介绍一个重要且简单的元素,即按钮。这个小元素可以改变整个UX。我们将使用该按钮来缩放我们的3D模型...

  • Python Qt GUI设计:QPushButton、QRad

    在GUI设计中,按钮都是最重要的和常用的触发动作请求的方式,用来与用户进行交互操作。在PyQt中根据不同的使用场景...

  • WeChat小程序表单篇~button

    button按钮 解释: 小程序的button按钮,常用于与用户交互使用。 属性: button属性 size有效...

  • WeUI - Button

    按钮可以使用a或者button标签。wap上要触发按钮的active态,必须触发ontouchstart事件,可以...

  • uniapp中使用animated 通过手机点击触发动画效果

    点击某个按钮触发animated动画 操作就是添加再class中添加animated 使用hover-class...

  • 【交互】交互控件(一)——按钮

    (一) 按钮的基础概念 1. 按钮是什么 按钮是图形界面中用来进行功能交互的组件,是指为用户提供触发事件的简单方式...

  • vue监听input输入事件

    使用@input监听输入事件,登录按钮交互效果 UI库使用vant输入框: 按钮: 输入事件:

  • JS 实现全屏效果

    点击按钮触发 requestFullscreen() 函数打开全屏 点击按钮触发 exitFullScreen()...

  • 无标题文章

    JS简单的按钮触发方法发生的交互效果, 通过点击不同的按钮,在界面上输出不一样的内容。

  • PlayMaker:触发事件

    事件(event)的触发是PlayMaker交互设计的基础。 鼠标(mouse)、键盘(keyboard)、按钮(...

网友评论

      本文标题:按钮与交互-使用按钮触发操作

      本文链接:https://www.haomeiwen.com/subject/mfrkuqtx.html