Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在单击UIButton时突出显示其背景,以及;“不高光”;信息技术_Swift_Background_Uibutton_Highlight - Fatal编程技术网

Swift 如何在单击UIButton时突出显示其背景,以及;“不高光”;信息技术

Swift 如何在单击UIButton时突出显示其背景,以及;“不高光”;信息技术,swift,background,uibutton,highlight,Swift,Background,Uibutton,Highlight,我正在尝试创建4个ui按钮,当它们被单击时,它们会高亮显示并保持高亮状态。唯一的问题是我一次只需要突出显示一个UIButton。因此,如果已经高亮显示了ui按钮,我需要将其“取消高亮显示”,并高亮显示我单击的ui按钮。我曾经尝试过这样做,但失败了。请帮我解决这个问题。 我正在使用Swift编码语言来实现这一点 如果您有任何意见或建议,我们将不胜感激。您可以使用IBOutletCollection。命令将其中一个按钮拖动到视图控制器代码中,并在拖放时选择创建IBOutletCollection,然

我正在尝试创建4个
ui按钮
,当它们被单击时,它们会高亮显示并保持高亮状态。唯一的问题是我一次只需要突出显示一个UIButton。因此,如果已经高亮显示了
ui按钮
,我需要将其“取消高亮显示”,并高亮显示我单击的
ui按钮
。我曾经尝试过这样做,但失败了。请帮我解决这个问题。 我正在使用Swift编码语言来实现这一点


如果您有任何意见或建议,我们将不胜感激。

您可以使用
IBOutletCollection
。命令将其中一个按钮拖动到视图控制器代码中,并在拖放时选择创建
IBOutletCollection
,然后将您的集合命名为某个名称,例如,
radioGroup
。然后控制将其余三个按钮拖动到相同的
IBOutletCollection

下一件事是添加一个方法来取消高亮显示
radioGroup
中的所有按钮。这可以通过一个简单的循环来完成


最后,从按钮的事件处理程序添加对
unhighlightRadioGroup
的调用。事件处理程序应首先调用您的
unhighlightRadioGroup
方法,然后突出显示事件处理程序中接收到的
发送方。

您可以使用
IBOutletCollection
执行此操作。命令将其中一个按钮拖动到视图控制器代码中,并在拖放时选择创建
IBOutletCollection
,然后将您的集合命名为某个名称,例如,
radioGroup
。然后控制将其余三个按钮拖动到相同的
IBOutletCollection

下一件事是添加一个方法来取消高亮显示
radioGroup
中的所有按钮。这可以通过一个简单的循环来完成


最后,从按钮的事件处理程序添加对
unhighlightRadioGroup
的调用。事件处理程序应首先调用您的
unhighlightRadioGroup
方法,然后突出显示事件处理程序中接收到的
发送方。

您可以使用
IBOutletCollection
执行此操作。命令将其中一个按钮拖动到视图控制器代码中,并在拖放时选择创建
IBOutletCollection
,然后将您的集合命名为某个名称,例如,
radioGroup
。然后控制将其余三个按钮拖动到相同的
IBOutletCollection

下一件事是添加一个方法来取消高亮显示
radioGroup
中的所有按钮。这可以通过一个简单的循环来完成


最后,从按钮的事件处理程序添加对
unhighlightRadioGroup
的调用。事件处理程序应首先调用您的
unhighlightRadioGroup
方法,然后突出显示事件处理程序中接收到的
发送方。

您可以使用
IBOutletCollection
执行此操作。命令将其中一个按钮拖动到视图控制器代码中,并在拖放时选择创建
IBOutletCollection
,然后将您的集合命名为某个名称,例如,
radioGroup
。然后控制将其余三个按钮拖动到相同的
IBOutletCollection

下一件事是添加一个方法来取消高亮显示
radioGroup
中的所有按钮。这可以通过一个简单的循环来完成


最后,从按钮的事件处理程序添加对
unhighlightRadioGroup
的调用。事件处理程序应首先调用您的
unhighlightRadioGroup
方法,然后突出显示事件处理程序中接收到的
发送方。

如果您对此答案进行了向上投票,请记住也向上投票Dasbliklight的答案

class ViewController: UIViewController {

    // Connect all 4 buttons to this outlet
    @IBOutlet var radioGroup: [UIButton]!

    // Connect this action to all 4 buttons
    @IBAction func radioGroupClicked(sender: AnyObject) {
        // Unhighlight all buttons
        unhighlightRadioGroup()

        // Highlight the one being clicked on
        highlightRadioGroup(sender as! UIButton)
    }

    // Set all 4 buttons in unselected state
    func unhighlightRadioGroup() {
        for button in radioGroup {
            button.selected = false
        }
    }

    // Set one button in the selected state
    func highlightRadioGroup(button : UIButton) {
        button.selected = true
    }

}

如果你对这个答案投赞成票,记得也要对达斯比克利特的答案投赞成票

class ViewController: UIViewController {

    // Connect all 4 buttons to this outlet
    @IBOutlet var radioGroup: [UIButton]!

    // Connect this action to all 4 buttons
    @IBAction func radioGroupClicked(sender: AnyObject) {
        // Unhighlight all buttons
        unhighlightRadioGroup()

        // Highlight the one being clicked on
        highlightRadioGroup(sender as! UIButton)
    }

    // Set all 4 buttons in unselected state
    func unhighlightRadioGroup() {
        for button in radioGroup {
            button.selected = false
        }
    }

    // Set one button in the selected state
    func highlightRadioGroup(button : UIButton) {
        button.selected = true
    }

}

如果你对这个答案投赞成票,记得也要对达斯比克利特的答案投赞成票

class ViewController: UIViewController {

    // Connect all 4 buttons to this outlet
    @IBOutlet var radioGroup: [UIButton]!

    // Connect this action to all 4 buttons
    @IBAction func radioGroupClicked(sender: AnyObject) {
        // Unhighlight all buttons
        unhighlightRadioGroup()

        // Highlight the one being clicked on
        highlightRadioGroup(sender as! UIButton)
    }

    // Set all 4 buttons in unselected state
    func unhighlightRadioGroup() {
        for button in radioGroup {
            button.selected = false
        }
    }

    // Set one button in the selected state
    func highlightRadioGroup(button : UIButton) {
        button.selected = true
    }

}

如果你对这个答案投赞成票,记得也要对达斯比克利特的答案投赞成票

class ViewController: UIViewController {

    // Connect all 4 buttons to this outlet
    @IBOutlet var radioGroup: [UIButton]!

    // Connect this action to all 4 buttons
    @IBAction func radioGroupClicked(sender: AnyObject) {
        // Unhighlight all buttons
        unhighlightRadioGroup()

        // Highlight the one being clicked on
        highlightRadioGroup(sender as! UIButton)
    }

    // Set all 4 buttons in unselected state
    func unhighlightRadioGroup() {
        for button in radioGroup {
            button.selected = false
        }
    }

    // Set one button in the selected state
    func highlightRadioGroup(button : UIButton) {
        button.selected = true
    }

}
记住在viewDidLoad()中调用setupButtonMethods()

记住在viewDidLoad()中调用setupButtonMethods()

记住在viewDidLoad()中调用setupButtonMethods()

记住在viewDidLoad()中调用setupButtonMethods()


您是否使用Interface Builder创建了
ui按钮
s?是的。我应该将它们连接为iActions还是在ViewController.swift中声明并连接它们。您是否使用Interface Builder创建了
ui按钮
s?是的。我应该将它们连接为iActions还是在ViewController.swift中声明并连接它们。您是否使用Interface Builder创建了
ui按钮
s?是的。我应该将它们连接为iActions还是在ViewController.swift中声明并连接它们。您是否使用Interface Builder创建了
ui按钮
s?是的。我应该将它们连接为iActions还是在ViewController.swift中声明并连接它们。请发布此代码。我不知道你说的一些事情该怎么做。@Buster我在航班间转机时发布了这个答案,所以我没有时间添加代码。看起来Zoff Dino已经发布了相关的代码,所以在这一点上你应该很好,就代码而言,对吧?请发布代码。我不知道你说的一些事情该怎么做。@Buster我在航班间转机时发布了这个答案,所以我没有时间添加代码。看起来Zoff Dino已经发布了相关的代码,所以在这一点上你应该很好,就代码而言,对吧?请发布代码。我不知道你说的一些事情该怎么做。@Buster我在航班间转机时发布了这个答案,所以我没有时间添加代码。看起来Zoff Dino已经发布了相关的代码,所以在这一点上你应该很好,就代码而言,对吧?请发布代码。“我不知道你说的一些事情该怎么做。”巴斯特我在一次航班间转机时发布了这个答案,