我有一个堆栈 View ,我在其中动态添加按钮。但我需要根据以下条件添加按钮:
if trim.contains("0"){
print("contaim 0")
let button1 = UIButton(frame: CGRect(x: 0, y: 0, width: 60, height: 20))
button1.setTitleColor(UIColor.blackColor(), forState: .Normal)
button1.setTitle("No", forState: .Normal)
button1.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button1.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button1)
}
if trim.contains("1") {
print("contaim 1")
let button2 = UIButton(frame: CGRect(x: 90, y: 0, width: 60, height: 20))
button2.setTitleColor(UIColor.blackColor(), forState: .Normal)
button2.setTitle("Less", forState: .Normal)
button2.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button2.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button2)
}
if trim.contains("2"){
print("contaim 2")
let button3 = UIButton(frame: CGRect(x: 150, y: 0, width: 60, height: 20))
button3.setTitleColor(UIColor.blackColor(), forState: .Normal)
button3.setTitle("Half", forState: .Normal)
button3.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button3.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button3)
}
if trim.contains("3"){
print("contaim 3")
let button4 = UIButton(frame: CGRect(x: 210, y: 0, width: 60, height: 20))
button4.setTitleColor(UIColor.blackColor(), forState: .Normal)
button4.setTitle("On", forState: .Normal)
button4.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button4.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button4)
}
if trim.contains("4"){
print("contaim 4")
let button5 = UIButton(frame: CGRect(x: 270, y: 0, width: 60, height: 20))
button5.setTitleColor(UIColor.blackColor(), forState: .Normal)
button5.setTitle("With", forState: .Normal)
button5.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button5.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button5)
}
if trim.contains("5"){
print("contaim 5")
let button6 = UIButton(frame: CGRect(x: 310, y: 0, width: 60, height: 20))
button6.setTitleColor(UIColor.blackColor(), forState: .Normal)
button6.setTitle("On Burger", forState: .Normal)
button6.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button6.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button6)
}
if trim.contains("6"){
print("contaim 6")
let button7 = UIButton(frame: CGRect(x: 370, y: 0, width: 60, height: 20))
button7.setTitleColor(UIColor.blackColor(), forState: .Normal)
button7.setTitle("On Chips", forState: .Normal)
button7.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button7.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button7)
}
我的按钮在这里添加,但在堆栈 View 中的给定位置。我的要求是,例如,如果按钮 1 条件不满足,那么第二个按钮应该出现在第一个按钮的位置??
按钮应该表现得像单选按钮
最佳答案
您可以使用此代码:
var posX = 0
var posY = 0
if trim.contains("0"){
print("contaim 0")
let button1 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button1.setTitleColor(UIColor.blackColor(), forState: .Normal)
button1.setTitle("No", forState: .Normal)
button1.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button1.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button1)
posX = 60
}
if trim.contains("1") {
print("contaim 1")
let button2 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button2.setTitleColor(UIColor.blackColor(), forState: .Normal)
button2.setTitle("Less", forState: .Normal)
button2.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button2.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button2)
posX = posX + 60
}
if trim.contains("2"){
print("contaim 2")
let button3 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button3.setTitleColor(UIColor.blackColor(), forState: .Normal)
button3.setTitle("Half", forState: .Normal)
button3.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button3.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button3)
posX = posX + 60
}
if trim.contains("3"){
print("contaim 3")
let button4 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button4.setTitleColor(UIColor.blackColor(), forState: .Normal)
button4.setTitle("On", forState: .Normal)
button4.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button4.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button4)
posX = posX + 60
}
if trim.contains("4"){
print("contaim 4")
let button5 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button5.setTitleColor(UIColor.blackColor(), forState: .Normal)
button5.setTitle("With", forState: .Normal)
button5.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button5.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button5)
posX = posX + 60
}
if trim.contains("5"){
print("contaim 5")
let button6 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button6.setTitleColor(UIColor.blackColor(), forState: .Normal)
button6.setTitle("On Burger", forState: .Normal)
button6.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button6.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button6)
posX = posX + 60
}
if trim.contains("6"){
print("contaim 6")
let button7 = UIButton(frame: CGRect(x: posX, y: posY, width: 60, height: 20))
button7.setTitleColor(UIColor.blackColor(), forState: .Normal)
button7.setTitle("On Chips", forState: .Normal)
button7.setImage(UIImage(named: "checkbox untick.png")!, forState: .Normal)
button7.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
myStackview.addSubview(button7)
}
关于ios - 如何根据条件将 UIStackView 中的按钮放置在其他按钮旁边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38738679/