【发布时间】:2015-09-22 13:40:27
【问题描述】:
这是一个简单的程序,它创建一个随机数并将其与用户在文本字段中输入的数字进行比较。这基本上是一个“猜猜我举起多少根手指?”程序。
我想要做的是在用户猜测正确时根据“var randomNumber”在 UIImageView 中显示图像,并在用户猜测错误或输入大于 5 的数字时显示图像(交叉)。图像在开头显示一个问号。从 0 到 5 的图像是相应地显示 5 根手指的图像。
我必须像这样指定图像吗?我需要写下文件的扩展名吗?
hand.image = UIImage(named: "0")
hand.image = UIImage(named: "1")
hand.image = UIImage(named: "2")
hand.image = UIImage(named: "3")
hand.image = UIImage(named: "4")
hand.image = UIImage(named: "5")
hand.image = UIImage(named: "wrong")
hand.image = UIImage(named: "?")
还是这样?
let image0 = UIImage(named: "0")
let image1 = UIImage(named: "1")
let image2 = UIImage(named: "2")
let image0 = UIImage(named: "3")
let image1 = UIImage(named: "4")
let image2 = UIImage(named: "5")
let image0 = UIImage(named: "wrong")
let image1 = UIImage(named: "?")
我是否需要指定它们?
到目前为止没有任何效果,如果有人可以提供帮助,那就太好了。每次我按下“猜测按钮”时,应用程序都会崩溃。这是一项相当容易的任务,但由于我刚刚开始,我想知道它是如何完成的。提前致谢。
这是我目前的代码。
//
// ViewController.swift
// Finger Raten
//
// Created by Daniel Bleyer on 04.07.15.
// Copyright (c) 2015 DiBi. All rights reserved.
//
import UIKit
class ViewController: UIViewController{
@IBOutlet var hand: UIImageView! //image view
@IBOutlet weak var output: UILabel! //result (right/wrong)
@IBOutlet weak var input: UITextField! //guessed number
@IBAction func guess(sender: AnyObject) //guess button (comparing both numbers)
{
var randomNumber = arc4random_uniform(6) //random number
var inputInt = input.text.toInt() //guessed number
hand.image = UIImage(named: "0") //does this code go here? or somewhere else?
hand.image = UIImage(named: "1") //does this code go here? or somewhere else?
hand.image = UIImage(named: "2") //does this code go here? or somewhere else?
hand.image = UIImage(named: "3") //does this code go here? or somewhere else?
hand.image = UIImage(named: "4") //does this code go here? or somewhere else?
hand.image = UIImage(named: "5") //does this code go here? or somewhere else?
hand.image = UIImage(named: "wrong") //does this code go here? or somewhere else?
hand.image = UIImage(named: "?") //does this code go here? is it RIGHT? This image
//shows at the beginning, it is a question mark.
if inputInt != nil && inputInt < 6 //conditions (not empty/0-5)
{
if inputInt == Int(randomNumber) //comparing random/guessed
{
output.text = "Right !"; //right guess
hand.image = UIImage(named: "\(randomNumber)") //image showing 0-5 fingers
//is this the right place?
input.resignFirstResponder(); //hides numpad
} else {
output.text = "Wrong, it was a \(randomNumber)"; //wrong guess, it was a ??
hand.image = UIImage(named: "wrong)") //image of a cross (X)
//is this the right place?
input.resignFirstResponder(); //hides numpad
}
} else {
output.text = "Enter a number from 0-5"; //field empty or out of range
hand.image = UIImage(named: "wrong") //image of a cross (X)
//is this the right place?
input.resignFirstResponder(); //hides numpad
}
}
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.
}
}
【问题讨论】:
-
hand.image的多重赋值应该被删除,它们什么都不做。您的项目中包含的图像的实际名称是什么?使用该名称(忽略任何 @2x 或 3x 等) -
图像被称为 (0.png, 1.png ... 5.png, ?.png, wrong,png)。它们与 ViewController.swift 和 Main.storyboard 位于同一文件夹中。
-
使用
UIImage(named: "\(randomNumber).png")不起作用??? -
我称它们为 0.png... 5.png 以便图像会根据创建的随机数而变化。
-
无论有没有扩展,它都会崩溃。
标签: ios image swift button click