ios - 按下后按钮从底部出来
问题描述
我正在制作一个非常简单的 iOS 应用程序。我按下一个按钮,图像就会改变。我遇到的问题是每次按下按钮时,就像按钮进入手机模拟器的底部并位于我最初按下的按钮的顶部。
此外,图像在消失之前只停留一秒钟。(我假设这些行动齐头并进)。
如果有人能够提供帮助,这是代码。
import UIKit
class ViewController: UIViewController {
@IBAction func generateHero(_ sender: UIButton) {
//list of Images in array
let image : NSArray = [ UIImage(named: "batman.jpg")!,
UIImage(named: "the-flash.jpg")!,
UIImage(named: "Deadpool.jpg")!,
UIImage(named: "green-arrow.jpg")!,
UIImage(named: "iron-man.jpg")!]
//random image generating method
let imagerange: UInt32 = UInt32(image.count)
let randomimage = Int(arc4random_uniform(imagerange))
let generatedimage: AnyObject = image.object(at: randomimage) as AnyObject
self.heroImage.image = generatedimage as? UIImage
}
@IBOutlet weak var heroImage: UIImageView!
}
解决方案
你在随机图像生成中做了很多不必要的转换,如果你使用了Array而不是NSArray你可以使用 .randomElement() 函数来返回数组的随机元素。所以你会做
self.heroImage.image = image.randomElement()
推荐阅读
- javascript - TS2403:后续变量声明必须在反应中具有相同的类型
- java - 如何以编程方式在 Liferay DXP 中的每个类别下创建子类别?
- python - reportLab 使用大量内存生成大型 PDF 文件
- css - Django,强制重新加载 css/js,并收集静态
- android - 未收到 SkuDetails 列表
- r - 有没有办法从 1 个 excel 文件在 ArcGIS 中执行批量插值?
- javascript - 如何从 Javascript 为傻瓜执行 Python 代码
- android - 下载管理器在 android 4 最多 6 中运行但不起作用?
- java - 使用 Spring Security 时获取当前登录的用户名
- javascript - 如何使用 reactJs 在本地保存大数据?