我已经检查了文档并成功添加了图片作为背景,但是,我已经无法更改它了。
我想要做的是每次单击按钮时更改背景图像。在线查看我发现了有关如何更改按钮背景的信息,但没有找到实际背景信息。
import UIKit
class ViewController: UIViewController {
var arrays = ["A", "b", "C", "D", "E", "F"]
var currentIndex = 0
var image = UIImage()
var image3 = UIImage()
@IBOutlet weak var ChangeText: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
ChangeText.text = arrays[currentIndex]
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "LaunchImage")!)
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image2")!)
}
@IBAction func Button() {
currentIndex += 1
if currentIndex == arrays.count {
currentIndex = 0
}
ChangeText.text = arrays[currentIndex]
if image == UIImage(named: "Image2") {
print("Image")
}
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image2")!)
}
}
也可以强制解开UIImage我知道力量展开是不受欢迎的,但我知道我肯定会有背景图像。
我也尝试了这个,但我有同样的问题,它不会多次改变背景图像。
```
@IBAction func Button() {
currentIndex += 1
if currentIndex == arrays.count {
currentIndex = 0
}
ChangeText.text = arrays[currentIndex]
if image == UIImage(named: "Image2") {
print("Image")
}
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image2")!)
if image3 == UIImage(named: "Image3") {
print("Image")
}
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image3")!)
}
}
```
答案 0 :(得分:0)
我不确定问题出在哪里,因为你没有向我们展示你已经尝试过的东西。
您用于设置背景视图的相同代码可以在任何地方使用,并且可以随时使用
if <some condition>
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "one")!)
}
if <another condition>
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "two")!)
}
答案 1 :(得分:0)
我不认为你的问题与按钮有关,就像一般概念一样,如条件。正如罗素回答的那样,你只需要条件。您已经证明图像加载是可行的,所以现在您只需要再次执行此操作&#34;与不同的形象。
我有一些提示。首先,不要用名词来命名函数,比如ButtonTapped或类似名称。按钮,在swift 3中,将是一个UIButton,所以无论如何它都不会像你期望的那样工作。
我意识到你并没有改变Button的背景,但我认为你是。如果你是,Buttons不会表现得像图像和视图。他们有'&#34;背景状态&#34;和&#34;州和#34;的标题。哎呀,你甚至无法使用Core Animation扩展它们,你必须扩展它们的超级视图才能看到它。虽然我现在暂时停止使用Core Animation。
你想做的是罗素所说的,但尝试一些简单的事情。像:
var switch:bool = true;
func buttonTapped() {
if (switch == true) {
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "one");
} else {
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "two");
}
switch = !switch;
}
我会首先做一些简单的事情来证明它的工作 self.view.backgroundColor = UIColor.blackColor();和橙色/白色的东西。
你是否应该强行打开包装,获得良好的命名习惯,理解结构等......我建议学习C ++。一个简单的C ++教程将涵盖比swift或iPhone编程的任何初学者书更多的结构和模块化。此外,所有其他语言只是其功能的一小部分,因此您可以超级快速地选择其他所有语言。
答案 2 :(得分:0)
用以下代码替换您的代码:
@IBAction func Button() {
currentIndex += 1
if currentIndex == arrays.count {
currentIndex = 0
}
ChangeText.text = arrays[currentIndex]
if image == UIImage(named: "Image2")
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image3")!)
return;
}
else if image3 == UIImage(named: "Image3")
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image4")!)
return;
}
else if image == UIImage(named: "Image")
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image2")!)
return;
}
else
{
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "Image")!)
return;
}
}