Ios 如何仅在按下所有按钮时启用按钮?
假设我在一个应用程序中有六个按钮,我只想在所有六个按钮都被点击的情况下启用第七个按钮。如何在Xcode 9中实现这一点?这可以作为您的起点 (1) 。创建以下阵列: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
//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
}
}