テーブルビューのセル内にチェックマークがあり、クリックされたセルが示されています。セルをクリックする代わりに、ボタンがクリックされます。各セルから情報を取得してイメージを変更できますが、問題をクリックしてもう一方をクリックすると、両方のセルボタンが強調表示されます。代わりに、私はクリックされた最新のボタンをハイライト表示したいだけです。一度に強調表示できるボタンは1つだけです。1つの画像のみをハイライト表示させるにはどうしたらいいですか?
func selected(sender: UIButton){
let buttonTag = sender.tag
if (sender.selected)
{
sender.selected = false
print("none")
}
else
{
sender.selected = true
print(animal[buttonTag])
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: animalcell = animal.dequeueReusableCellWithIdentifier("cellanimal") as! animalcell
cell.check.addTarget(self, action: "selected:", forControlEvents: .TouchUpInside)
cell.check.tag = indexPath.row
cell.check.setImage(UIImage(named: "bttnnonhighlight"), forState: UIControlState.Normal)
cell.check.setImage(UIImage(named: "buttonhighlight"), forState: UIControlState.Selected)
cell.check.selected = false
previouslySelected = cell.check
}
にどのように私はすべてのボタンの参照を保持しますか?ボタンの数は、ユーザーごとに変わります。 – manatee