iOS更改在for循环中创建的UIButton中的颜色
这是我从for循环生成的scrollview中的按钮的工作代码。我如何访问每个按钮来更改它们的属性或颜色iOS更改在for循环中创建的UIButton中的颜色,ios,swift,Ios,Swift,这是我从for循环生成的scrollview中的按钮的工作代码。我如何访问每个按钮来更改它们的属性或颜色 @IBOutlet var scrollView: UIScrollView! var namesOfMuscless = ["ALL","|","CHEST","|","BACK","|","BICEPS","|","TRICEPS","|","DELTOIDS","|","TRAPS","|","ABS","|","OBLIQUES","|","QUADS","|","CALV
@IBOutlet var scrollView: UIScrollView!
var namesOfMuscless = ["ALL","|","CHEST","|","BACK","|","BICEPS","|","TRICEPS","|","DELTOIDS","|","TRAPS","|","ABS","|","OBLIQUES","|","QUADS","|","CALVES","|","INNER THIGHS","|","HAMSTRING","|","GLUTES"]
var nameOfMusclesSizes = [Int]()
var nameOfMusclesSizesFinal = [Int]()
var addFinalSize = 0
var scrollerSize = 0
var pixelAdjustment = 9
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//One letter 20px
for sizeAdd in 0..<self.namesOfMuscless.count {
nameOfMusclesSizes.append(namesOfMuscless[sizeAdd].characters.count)
}
for sizeAddFinal in 0..<self.namesOfMuscless.count {
if(sizeAddFinal<1){
nameOfMusclesSizesFinal.append(0)
}else{
for counter in 0..<self.nameOfMusclesSizesFinal.count {
addFinalSize=nameOfMusclesSizesFinal[counter]
scrollerSize=nameOfMusclesSizesFinal[counter]+13
}
nameOfMusclesSizesFinal.append(nameOfMusclesSizes[sizeAddFinal-1]+addFinalSize)
}
print(nameOfMusclesSizesFinal[sizeAddFinal])
}
scrollView.contentSize = CGSizeMake(CGFloat(scrollerSize*pixelAdjustment-50),200)
scrollView.showsHorizontalScrollIndicator = true
scrollView.indicatorStyle = .Default
for index in 0..<self.namesOfMuscless.count {
let frame1 = CGRect(x:(nameOfMusclesSizesFinal[index]*pixelAdjustment),y: 20, width:namesOfMuscless[index].characters.count*pixelAdjustment, height: 30 )
let button = UIButton(frame: frame1)
button.setTitle(namesOfMuscless[index], forState: .Normal)
button.titleLabel!.font = UIFont(name: "HelveticaNeue", size: 12)
button.backgroundColor = UIColor.blackColor()
button.addTarget(namesOfMuscless[index], action: "buttonClick:", forControlEvents: .TouchUpInside)
scrollView.addSubview(button)
}
}
func buttonClick(sender:UIButton){
if(sender.currentTitle=="|"){
}else{
print(sender.currentTitle)
}
}
@IBOutlet var scrollView:UIScrollView!
var namesOfMuscless=[“全部”、“三头肌”、“胸肌”、“胸肌”、“腹肌”、“斜肌”、“背部”、“四头肌”、“肱二头肌”、“小腿”、“大腿内侧”、“大腿内侧”、“腿筋”、“臀肌”]
变量nameOfMusclesSizes=[Int]()
变量nameOfMusclesSizesFinal=[Int]()
var addFinalSize=0
var scrollrsize=0
var像素调整=9
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
//一个字母20px
对于0..中的sizeAdd,您可以给每个按钮一个标记,并将其设置为for循环的索引:
button.tag = index
然后将该按钮放入字典[Int:UIButton]
中供以后使用
myButtons[index] = button
因此,您可以创建全局变量var myButtons:[Int:UIButton]=[:]
,然后在for循环中添加以下行
button.tag = index
myButtons[index] = button
然后,您可以使用每个按钮的标记来访问它,var buttonoEdit:UIButton=myButtons[tagToUse]
例如,您可以将每一块肌肉及其索引存储在一个列表中
var indexes: [String : Int] = [
"ALL" : 0, "CHEST" : 1,
"BACK" : 2, "BICEPS" : 3,
"TRICEPS" : 4,"DELTOIDS" : 5,
"TRAPS" : 6, "ABS" : 7,
"OBLIQUES" : 8, "QUADS" : 9,
"CALVES" : 10, "INNER THIGHS" : 11,
"HAMSTRING" : 12, "GLUTES" : 13
]
然后根据存储在索引中的索引从列表myButtons
列表中获取按钮。例如,如果要获取ABS按钮,可以使用
var absIndex: Int = indexes["ABS"] ?? 0
var absButton: UIButton? = myButtons[absIndex]
@没问题!如果你想,你可以点击答案左边的复选标记