-1
私は正しいカードが選択されるたびに、新しいボタン/カードが画面上に表示される純粋な推測カードゲームを作っています。私はaddButton関数を作ったが、私はそれに入れなければならないことについて混乱している。誰でも関数を呼び出すたびに新しいボタンを作成する方法について、正しい方向に向かって私を導いてください。関数が呼び出されるたびに新しいボタンを自動的に追加する方法は?
let card1 = UIButton(type: UIButtonType.Custom) as UIButton
let card2 = UIButton(type: UIButtonType.Custom) as UIButton
var random = arc4random_uniform(101)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
card1.backgroundColor = UIColor.cyanColor()
card1.frame = CGRectMake(100, 100, 100, 100)
card1.addTarget(self, action: "Card1Btn:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(card1)
card2.backgroundColor = UIColor.cyanColor()
card2.frame = CGRectMake(500, 100, 100, 100)
card2.addTarget(self, action: "Card2Btn:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(card2)
}
func Card1Btn(sender: UIButton!){
if random <= 50{
print("you won")
}else{
print ("you Lost")
}
}
func Card2Btn(sender: UIButton!){
if random >= 51{
print("you won")
}else{
print("you lost")
}
}
func addButton(){
}
カードを交換したい場合はこれがいいですが、カードを追加したいのですが。だから初めに2枚のカードがあり、ユーザーがそれに正しく答えると3枚のカードがあるとします。 – user6794148
変更は簡単です。私の答えは、あなたがすでにプログラムでカードを追加していた方法を示しています。コードを再利用できるようにするにはちょっとした再構成が必要でした。たくさんのカードを追加したい場合は、配列内でそれらを追跡することができます(または、それらがビューの唯一のサブビューである場合、 'view.subviews'はそれらをあなたのために追跡します)。主なテイクアウェイは、カード押さえを扱う汎用関数を使用し、カード自体(「送信者」)に基づいて(必要であれば)異なる動作をする必要があるということです。 'card.tag'プロパティは、それぞれに一意のIDを付ける場合に使用できます。 – jhabbott