IOS/Swift:检查按钮图像以切换按钮图像
我正在学习Swift,并尝试在两幅图像之间根据用户操作切换按钮。只要检查显示的图像的名称并切换到另一个图像就好了 我可以从按钮中获取图像,但不一定是名称。我的问题是如何将其与Swift中的图像名称进行比较IOS/Swift:检查按钮图像以切换按钮图像,ios,swift,uibutton,Ios,Swift,Uibutton,我正在学习Swift,并尝试在两幅图像之间根据用户操作切换按钮。只要检查显示的图像的名称并切换到另一个图像就好了 我可以从按钮中获取图像,但不一定是名称。我的问题是如何将其与Swift中的图像名称进行比较 func toggleImage(){ var img = self.sendButton.image(for: .normal)//NO ERROR if img.isEqual(image-one) { //ERROR HERE //swit
func toggleImage(){
var img = self.sendButton.image(for: .normal)//NO ERROR
if img.isEqual(image-one) {
//ERROR HERE
//switch to image-two
} else {
//switch to image-one
}
}
提前感谢您的建议。您需要获取图像名称,并按如下方式进行比较
if self.sendButton.currentImage == UIImage(named: "image-one") {
//switch to image-two
}else {
//switch to image-one
}
您需要获得图像名称并进行如下比较
if self.sendButton.currentImage == UIImage(named: "image-one") {
//switch to image-two
}else {
//switch to image-one
}
private let image one=UIImage(名为:“name1”)
私有let image 2=UIImage(名为:“name2”)
重写func viewDidLoad(){
sendButton.setImage(图像一,用于:。正常)
}
func切换图像(){
如果self.sendButton.currentImage==图像一{
.....
}
}
enum WhichImage{
案例图片一,图片二
}
私有变量whichImage:whichImage=.image one
private let image one=UIImage(名为:“name1”)
私有let image 2=UIImage(名为:“name2”)
重写func viewDidLoad(){
sendButton.setImage(图像一,用于:。正常)
}
func切换图像(){
如果self.sendButton.currentImage==图像一{
.....
}
}
enum WhichImage{
案例图片一,图片二
}
私有变量whichImage:whichImage=.image one
不要检查图像,而是检查图像,并在图像更改时进行更新。有更好的方法。将按钮视为复选框。未选中状态为图像1,选中状态为图像2 要将
ui按钮设置为像复选框一样工作,请使用isSelected
属性
sendButton.setImage(UIImage(named: "image1"), for: .normal)
sendButton.setImage(UIImage(named: "image2"), for: .selected)
// You may also need to set the image for the highlighted selected state.
sendButton.setImage(UIImage(named: "image2"), for: [.selected, .highlighted])
func toggleImage() {
sendButton.isSelected = !sendButton.isSelected
}
既然按钮知道这两个图像,您可以使用isSelected
属性在到之间切换
sendButton.setImage(UIImage(named: "image1"), for: .normal)
sendButton.setImage(UIImage(named: "image2"), for: .selected)
// You may also need to set the image for the highlighted selected state.
sendButton.setImage(UIImage(named: "image2"), for: [.selected, .highlighted])
func toggleImage() {
sendButton.isSelected = !sendButton.isSelected
}
有更好的办法。将按钮视为复选框。未选中状态为图像1,选中状态为图像2
要将ui按钮设置为像复选框一样工作,请使用isSelected
属性
sendButton.setImage(UIImage(named: "image1"), for: .normal)
sendButton.setImage(UIImage(named: "image2"), for: .selected)
// You may also need to set the image for the highlighted selected state.
sendButton.setImage(UIImage(named: "image2"), for: [.selected, .highlighted])
func toggleImage() {
sendButton.isSelected = !sendButton.isSelected
}
既然按钮知道这两个图像,您可以使用isSelected
属性在到之间切换
sendButton.setImage(UIImage(named: "image1"), for: .normal)
sendButton.setImage(UIImage(named: "image2"), for: .selected)
// You may also need to set the image for the highlighted selected state.
sendButton.setImage(UIImage(named: "image2"), for: [.selected, .highlighted])
func toggleImage() {
sendButton.isSelected = !sendButton.isSelected
}
在界面中设置图像接近代码中按钮的刚更改状态
下面是更改状态的代码
@IBAction func fastButtonAction(_ sender: Any) {
fastButton.isSelected = !fastButton.isSelected
}
在界面中设置图像接近代码中按钮的刚更改状态
下面是更改状态的代码
@IBAction func fastButtonAction(_ sender: Any) {
fastButton.isSelected = !fastButton.isSelected
}
这里有一个类似的问题:你们选择了非常艰难的方式来实现你们想要的。考虑不同图像的不同状态的代码> UIButton < /代码>,如<代码>选择< /代码>和正常。这样,当点击按钮时,您可以将按钮的选定属性切换为true或false,图像将发生变化。这里的问题类似:您选择了非常艰难的方式来实现您想要的。考虑不同图像的不同状态的代码> UIButton < /代码>,如<代码>选择< /代码>和正常。这样,当点击按钮时,您可以将按钮的选定属性切换为true或false,图像将发生变化。这将导致始终重新加载“图像一”,这是非常低效的。您可以创建一个变量,该变量可以在启动时加载,也可以在开始使用时使用惰性变量加载。我们可以根据需要对其进行优化。因此,您需要相应地更改代码示例,否则会产生误导。这将导致始终重新加载“image one”,这是非常低效的。您可以创建一个可以在开始时加载的变量,或者在开始使用时使用惰性变量进行加载。我们可以根据需求对其进行优化。因此,您需要相应地更改代码示例,否则会产生误导。这是一种很好的方法,但是,我可能需要在某个时候使用ISselect。实际上有三个州。img,img1 selected和img2这是一个很好的方法,但是,我可能也需要在某些时候使用isselected。实际上有三个州。如果private let image one=。。。是否在函数中?user6631314。应该这样。谁在乎任务在哪里完成?!如果private让image one=。。。是否在函数中?user6631314。应该这样。谁在乎任务在哪里完成?!