我想创建一个按钮,当按下该按钮时,它会切换为其他格式并保持这种状态,不允许用户将其切换回去。例如,我试图创建一个显示“ Special 1”的按钮,然后当用户单击该按钮时,它将切换为“ USED”。当UIButton上弹出“ USED”字样时,它会保持这种状态,并且用户无法将其改回原样。请帮我,我不知道这个。除了UIButton之外,我还愿意执行其他想法,例如UITableView ??
答案 0 :(得分:0)
您可以做的是在ViewController中创建一个布尔值(真或假),每当轻按按钮时,都要设置此变量,以便可以操纵与按钮关联的点击功能。
1。)建立从ViewController到代码的动作连接,这可以通过单击双视图按钮(右上角的两个圆圈)然后按住控件并将按钮拖动到代码中来完成。 :
有关将视图连接到代码的更多信息:https://codewithchris.com/9-hooking-it-all-up-swift-iboutlet-properties/ 跳到6分钟进行实际连接。
2。)现在,我们可以创建布尔变量,并创建基本的if语句:
var didClick:Bool = false
@IBAction func touchButton(_ sender: UIButton) {
if !didClick { // If didClick is false
didClick = true // Set it to true
sender.setTitle("USED", for: .normal)
}
}
注意:发件人应设置为UIButton NOT Any
应如下所示:
_ sender: UIButton
答案 1 :(得分:0)
如果您使用的是故事板,则可以在IBAction函数中编写此故事板:
function countOnes(n) {
let count = 0
while(n > 0) {
n -= n ^ (n & (n -1))
count++
}
return count
}
let n = 1709891;
console.log(countOnes(n))
console.log(n.toString(2))
n = 7
console.log(countOnes(n))
console.log(n.toString(2))
n = 9
console.log(countOnes(n))
console.log(n.toString(2))
发件人的类型可以是UIButton或“任意”,这取决于您如何从情节提要中建立连接。