当前位置: 首页 > news >正文

iOS开发Swift-3-UI与按钮Button-摇骰子App

1.创建新项目Dice

 2.图标

 删去AppIcon,将解压后的AppIcon.appiconset文件拖入Assets包。

 3.将素材点数1-6通过网页制作成2x,3x版本并拖入Asset。

 4.设置对应的UI。

 5.拖入Button组件并设置style。

 6.Ctrl加拖拽将Button拖拽到ViewController里,并设置Connection,Name等,并点击Connect。

 同样方式创建两个骰子的代码。

import UIKitclass ViewController: UIViewController {@IBOutlet weak var diceImageView1: UIImageView!@IBOutlet weak var diceImageView2: UIImageView!@IBAction func roll(_ sender: Any) {}override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}
}

 7.继续编写代码创造随机数。

import UIKitclass ViewController: UIViewController {@IBOutlet weak var diceImageView1: UIImageView!@IBOutlet weak var diceImageView2: UIImageView!@IBAction func roll(_ sender: Any) {var index1: Int = Int.random(in: 1...6)var index2: Int = Int.random(in: 1...6)diceImageView1.image = UIImage(named: "dice\(index1)")diceImageView2.image = UIImage(named: "dice\(index2)")    }override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}}

8.启动运行

9.程序加载时就随机扔骰子

import UIKitclass ViewController: UIViewController {let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]@IBOutlet weak var diceImageView1: UIImageView!@IBOutlet weak var diceImageView2: UIImageView!@IBAction func roll(_ sender: Any) {//调用摇骰子函数updateDiceImages()}//当程序加载的时候的活动override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//调用摇骰子函数updateDiceImages()}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}func updateDiceImages(){var index1: Int = Int.random(in: 0...5)var index2: Int = Int.random(in: 0...5)diceImageView1.image = UIImage(named: diceArr[index1])diceImageView2.image = UIImage(named: diceArr[index2])    }}

10.当用户摇晃骰子后调用摇骰子函数。

import UIKitclass ViewController: UIViewController {let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]@IBOutlet weak var diceImageView1: UIImageView!@IBOutlet weak var diceImageView2: UIImageView!@IBAction func roll(_ sender: Any) {//调用摇骰子函数updateDiceImages()}//当程序加载的时候的活动override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//调用摇骰子函数updateDiceImages()}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}func updateDiceImages(){var index1: Int = Int.random(in: 0...5)var index2: Int = Int.random(in: 0...5)diceImageView1.image = UIImage(named: diceArr[index1])diceImageView2.image = UIImage(named: diceArr[index2])    }//当用户摇晃手机时触发摇骰子override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {updateDiceImages()}}

相关文章:

iOS开发Swift-3-UI与按钮Button-摇骰子App

1.创建新项目Dice 2.图标 删去AppIcon,将解压后的AppIcon.appiconset文件拖入Assets包。 3.将素材点数1-6通过网页制作成2x,3x版本并拖入Asset。 4.设置对应的UI。 5.拖入Button组件并设置style。 6.Ctrl加拖拽将Button拖拽到ViewController里&#xff0…...

1、[春秋云镜]CVE-2022-32991

文章目录 一、相关信息二、解题思路(手注)三、通关思路(sqlmap) 一、相关信息 靶场提示:该CMS的welcome.php中存在SQL注入攻击。 NVD关于漏洞的描述: 注入点不仅在eid处!!&#xff…...

pdf如何删除其中一页?了解一下这几种删除方法

pdf如何删除其中一页?随着电子文档的广泛应用,PDF已成为最常见的文档格式之一。然而,有时候你可能会发现,你的PDF文档中包含了一些多余的页面,或者你需要删除其中的某一页。那么,该如何删除PDF中的页面呢&a…...

PO设计模式是selenium自动化测试中最佳的设计模式之一

Page Object Model:PO设计模式是selenium自动化测试中最佳的设计模式之一,主要体现在对界面交互细节的封装,也就是在实际测试中只关注业务流程就OK了传统的设计中,在新增测试用例之后,代码会有以下几个问题&#xff1a…...

yolov8使用C++推理的流程及注意事项

1.下载yolov8项目源码GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite 2.下载opencvReleases - OpenCV,建议版本>4.7.0,选择下载源码, windows版本由于使用的编译器与我们所使用的m…...

深度思考计算机网络面经之二

HTTP2和1.1的区别 HTTP 2.0 和 HTTP 1.1 相比有哪些优势呢? HTTP1.1的队头阻塞问题 服务器必须按照请求接收的顺序来响应,为什么 是因为传统的1.1中没有特定字段来区分一个请求属于哪个,只能按照请求的物理顺序返回, HTTP2解…...

老年人跌倒智能识别算法 opencv

老年人跌倒智能识别算法通过opencvpython深度学习算法框架模型,老年人跌倒智能识别算法能够及时发现老年人跌倒情况,提供快速的援助和救援措施,保障老年人的安全。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得…...

ros2官方文档(基于humble版本)学习笔记

ros2官方文档(基于humble版本)学习笔记(一) 一、安装ROS2二、按教程学习1.CLI 工具配置环境 由于市面上专门讲ROS2开发的书籍不多,近期看完了《ROS机器人开发实践》其中大部分内容还是基于ROS1写的,涉及top…...

可拖动表格

支持行拖动&#xff0c;列拖动 插件&#xff1a;sortablejs UI: elementUI <template><div><hr style"margin: 30px 0;"><div><!-- 数据里面要有主键id&#xff0c; 否则拖拽异常 --><h2 style"margin-bottom: 30px&qu…...

C++语法基础

这里写目录标题 基础语法第一个程序变量常量的定义关键字标识符命名 &#xff08;变量命名&#xff09;sizeof的使用实型&#xff08;浮点型&#xff09;字符型转义字符字符串的定义 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 基础语法 第一个程序 …...

Windi CSS和Tailwind CSS以及UnoCSS

最近合作在写一个vue3ts的项目&#xff0c;看到其他人用了一种写法&#xff0c;我觉得很奇怪&#xff0c;之前没见过&#xff0c;他是这样写的 <div class"news flex-1 h-40px flex"></div>我不理解的是为什么这样写就会让这个div的高度就是40px,好多代码…...

c++ opencv将彩色图像按连通域区分

要将彩色图像按连通域区分&#xff0c;您可以使用 OpenCV 中的 cv::connectedComponents 函数。 下面是一个简单的示例代码&#xff0c;说明如何使用 cv::connectedComponents 函数来检测并标记图像中的连通域&#xff1a; #include <opencv2/opencv.hpp> #include <…...

〖程序员的自我修养 - 认知剖析篇⑩〗- 学习编程的高效率方法

人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏,购买任意白宝书体系化专栏可加入易编程社区,早鸟价订阅模式除外。福利:加入社区的小伙伴们,除了可以获取博主所有付费专栏的阅读…...

前端基础1——HTML标记语言

文章目录 一、基本了解二、HTML常用标签2.1 文本格式化标签2.2 列表标签2.3 超链接标签2.4 图片标签2.5 表格标签2.6 表单标签2.6.1 提交表单2.6.2 下拉表单2.6.3 按钮标签 2.7 布局标签 一、基本了解 网页组成&#xff08;index.html页面&#xff09;&#xff1a; HTML标记语言…...

2.1: Dubbo的基本应用-负载均衡,集群容错,服务降级

负载均衡 官网地址&#xff1a; http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance/ 如果在消费端和服务端都配置了负载均衡策略&#xff0c; 以消费端为准。 这其中比较难理解的就是最少活跃调用数是如何进行统计的&#xff1f; 讲道理&#xff0c; 最少活跃数…...

正则常见问题及解决方案

使用正则处理问题的基本思路。有一些方法比较固定&#xff0c;比如将问题分解成多个小问题&#xff0c;每个小问题见招拆招&#xff1a;某个位置上可能有多个字符的话&#xff0c;就⽤字符组。某个位置上有多个字符串的话&#xff0c;就⽤多选结构。出现的次数不确定的话&#…...

docker发布项目及使用外部文件的情况处理

适用docker环境已搭建好 首先项目打jar包&#xff1a;server-cdzh-2.1.0-SNAPSHOT.jar 创建Dockerfile FROM java:8 ADD server-cdzh-2.1.0-SNAPSHOT.jar cdzh.jar EXPOSE 60156 ENTRYPOINT ["java","-jar","/cdzh.jar"] 在linux服务器新建…...

CSS 中哪些属性可以继承

1. 字体属性&#xff1a; font、font-style、font-variant、font-weight、font-size、line-height等属性是字体样式的属性&#xff0c;都可以被子元素继承。 2. 文本属性&#xff1a; color、text-indent、text-align、text-decoration、text-transform、letter-spacing、wo…...

vue cli构建的项目出现 Uncaught runtime errors

使用 vue/cli 脚手架构建的项目&#xff0c;在 npm run dev 运行后&#xff0c;页面出现 Uncaught runtime errors 报错遮罩层&#xff0c;如下图所示。 报错原因 这种错误通常是运行时出的问题&#xff0c;可能是网络错误&#xff0c;可能是变量未定义等等。 这种错误默认在开…...

透过源码理解Flutter InheritedWidget

InheritedWidget的核心是保存值和保存使用这个值的widget&#xff0c;通过对比值的变化&#xff0c;来决定是否要通知那些使用了这个值的widget更新自身。 1 updateShouldNotify和notifyClients InheritedWidget通过updateShouldNotify函数控制依赖其的子组件是否在Inherited…...

国际首都公报:湖北省放飞炬人国际控股集团国际总裁方达炬批准《湖北省放飞炬人国际控股集团国际军务涉军事法院规章》施行

国际首都公报&#xff1a;湖北省放飞炬人国际控股集团国际总裁方达炬批准《湖北省放飞炬人国际控股集团国际军务涉军事法院规章》施行...

HLAE高效创作指南:释放Source引擎电影级视觉潜能

HLAE高效创作指南&#xff1a;释放Source引擎电影级视觉潜能 【免费下载链接】advancedfx Half-Life Advanced Effects (HLAE) is a tool to enrich Source (mainly CS:GO) engine based movie making. 项目地址: https://gitcode.com/gh_mirrors/ad/advancedfx 一、核心…...

YOLOv12涨点改进 | CVPR 2025 | 全网独家首发、Neck特征融合改进篇 | YOLOv12引入ADWM自适应双重加权融合模块,有效优化特征的加权与融合,减少冗余并增强目标特征

一、本文介绍 🔥本文给大家介绍使用ADWM模块改进YOLOv12目标检测网络模型,能够有效优化特征的加权与融合,减少冗余并增强目标特征的表现,提升目标检测的准确性和鲁棒性,特别是在多尺度、小目标和复杂背景下。通过ADWM的引入,YOLOv12的性能将得到显著改善,适应性和准确…...

ESP8266 AT指令实战:用NodeMCU连接WiFi并发送HTTP请求(2023最新版)

ESP8266 AT指令实战&#xff1a;用NodeMCU连接WiFi并发送HTTP请求&#xff08;2023最新版&#xff09; 当你拿起一块NodeMCU开发板时&#xff0c;它可能看起来只是块普通的电路板&#xff0c;但内置的ESP8266芯片让它成为了物联网开发的瑞士军刀。不同于Arduino需要额外WiFi模块…...

深度学习项目训练环境体验:基于专栏的实战环境,快速验证模型

深度学习项目训练环境体验&#xff1a;基于专栏的实战环境&#xff0c;快速验证模型 1. 环境概述与核心价值 深度学习项目开发过程中&#xff0c;环境配置往往是最耗时且最容易出问题的环节。本镜像基于《深度学习项目改进与实战》专栏预置了完整的开发环境&#xff0c;让开发…...

【稀缺预警】Python 3.14 JIT编译器深度剖析:3类隐性CPU浪费模式+2套自动降本脚本(附真实AWS账单对比图)

第一章&#xff1a;Python 3.14 JIT编译器的演进逻辑与成本敏感性定位Python 3.14 并非官方发布的正式版本&#xff08;截至2024年&#xff0c;CPython最新稳定版为3.12&#xff0c;3.13处于预发布阶段&#xff09;&#xff0c;但本章以假设性技术前瞻视角&#xff0c;探讨若Py…...

WAF工程师实战笔记:如何用Suricata规则精准识别哥斯拉、冰蝎、蚁剑的Webshell流量

WAF工程师实战笔记&#xff1a;Suricata规则精准识别主流Webshell流量 在安全运维的日常工作中&#xff0c;Webshell流量的检测始终是一场攻防对抗的持久战。面对哥斯拉、冰蝎、蚁剑等主流Webshell管理工具不断升级的流量混淆技术&#xff0c;传统的特征匹配方法往往力不从心。…...

通义千问3-VL-Reranker-8B新手教程:零基础学会混合检索排序

通义千问3-VL-Reranker-8B新手教程&#xff1a;零基础学会混合检索排序 1. 认识这个强大的多模态排序工具 想象一下&#xff0c;你正在管理一个包含文字、图片和视频的庞大数据库。当用户搜索"户外运动装备"时&#xff0c;系统返回了100个结果——有些是产品描述文…...

SiameseAOE中文-base惊艳效果:结构化输出JSON兼容下游BI/报表系统直连

SiameseAOE中文-base惊艳效果&#xff1a;结构化输出JSON兼容下游BI/报表系统直连 1. 模型效果惊艳展示 SiameseAOE通用属性观点抽取模型在中文文本处理方面表现出色&#xff0c;能够从非结构化文本中精准提取结构化信息。最令人印象深刻的是&#xff0c;模型输出的JSON格式数…...

从51到STM32:手把手教你用STM32CubeMX和PWM驱动智能小车电机(附代码避坑)

从51到STM32&#xff1a;智能小车电机控制的进阶实战指南 十年前用51单片机做智能小车时&#xff0c;PWM配置需要手动计算定时器重装载值&#xff0c;而今天在STM32CubeMX里勾选几下就能生成精准的PWM信号——这就像从手动挡升级到了自动驾驶。作为过来人&#xff0c;我完整记…...