Ios 如何仅在按下所有按钮时启用按钮?

Ios 如何仅在按下所有按钮时启用按钮?,ios,swift,button,Ios,Swift,Button,假设我在一个应用程序中有六个按钮,我只想在所有六个按钮都被点击的情况下启用第七个按钮。如何在Xcode 9中实现这一点?这可以作为您的起点 (1) 。创建以下阵列: //1. Create An Array To Store The Buttons var buttonArray = [UIButton]() //2. Create An Array Of Bools So We Can Determine Which Buttons Have Been Pressed var buttonC

假设我在一个应用程序中有六个按钮,我只想在所有六个按钮都被点击的情况下启用第七个按钮。如何在Xcode 9中实现这一点?

这可以作为您的起点

(1) 。创建以下阵列:

//1. Create An Array To Store The Buttons
var buttonArray = [UIButton]()

//2. Create An Array Of Bools So We Can Determine Which Buttons Have Been Pressed
var buttonCheckArray = [false, false, false, false, false, false]
(2) 。生成按钮:

 /// Creates 7 Buttons & Adds Them To The Screen
func createButtons(){

    for index in 0 ..< 7{

        //1. Create The Button
        let button = UIButton(frame: CGRect(x: (index * 100) + index * 10, y: 200 , width: 100, height: 100))
        button.setTitle("\(index)", for: .normal)
        button.backgroundColor = .green
        button.tag = index
        button.addTarget(self, action: #selector(buttonPressed(_:)), for: .touchUpInside)
        print(index)

        //2. Add The Button To The Button Array
        buttonArray.append(button)

        //3. Disable The Final Button
        if button.tag == 6 {
            button.isUserInteractionEnabled = false
        }

        //4. Add The Button To The View
        self.view.addSubview(button)
    }

}

你尝试过什么?你面临着什么问题?@LeoDabus I。我正在创建一个简单的彩票应用程序,我想启用一个按钮,只有在刮除所有插槽后,才能将用户带到另一个视图?通过单击按钮可以划掉插槽,因此只需创建一个包含6个元素的数组,并将它们全部设置为false。每次用户单击按钮时,将相应的元素更改为true,并检查数组是否包含false。如果它不只是转到下一个视图controller@LeoDabus请给我一个如何创建数组并将元素设置为false的示例。您可以将按钮标记为0到5,并使用按钮标记作为数组元素的索引。填鸭式新手代码会适得其反。OP可能会在不理解的情况下复制/粘贴此代码。最好发布解决方案的大纲,让OP知道如何将其在线转化为代码。
/// Determines Which Button Has Been Pressed & Adjusts The buttonCheckArray
///
/// - Parameter sender: UIButton
@IBAction func buttonPressed(_ sender: UIButton){

    //1. Get The Button Tag
    let buttonPressedIndex = sender.tag

    //2. Change The Background Colour
    sender.backgroundColor = .purple

    //3. Change The Bool Value In The Array For The Six Buttons
    if sender.tag != 6{
        buttonCheckArray[buttonPressedIndex] = true
    }


    if buttonCheckArray.contains(false){
        print("Not All 6 Buttons Have Been Selected")
    }else{
        print("All 6 Buttons Have Been Selected")

        guard let finalButton = buttonArray.last else { return }
        finalButton.isUserInteractionEnabled = true

    }

}