2017-03-29 6 views
0

に同じUIImageViewを設定することができない私は、このコード遊び場、複数のUIView

override public func viewDidLoad() { 

    let imageBlankCard = UIImage(named: "BlankCard.png") 
    let imageViewBlankCard = UIImageView(image: imageBlankCard) 

    rockCard.addSubview(imageViewBlankCard) 
    scissorCard.addSubview(imageViewBlankCard) 
    paperCard.addSubview(imageViewBlankCard) 

    self.view.addSubview(rockCard) 
    self.view.addSubview(scissorCard) 
    self.view.addSubview(paperCard) 

} 

を持っている。しかし、私は遊び場を実行すると、唯一の最新のUIView(paperCard)が正しく表示され、他のカードがあります:矢印の代わりに最後のカードのような2枚のカードが必要です。 誰かが私を助けることができますか?みんなありがとう!

答えて

1

documentationによると、

ビューは、唯一のスーパービューを持つことができます。ビューにすでにスーパービューがあり、そのビューが受信者でない場合、このメソッドは受信者を新しいスーパービューにする前に以前のスーパービューを削除します。

これは、動作の説明です。

3つの別々のイメージビューを作成し、それぞれをサブビューとして追加する方法があります。

変数名で判断すると、私はあなたがロックペーパーはさみゲームに似たものを作成していると思います。また、それぞれが空のカードのイメージを持つイメージビューを保持する3つのビューがあります。また、画像ビューにオーバーレイとして石、紙、はさみの画像を追加したいとします。それがあなたがしたいことならば、rockCardpaperCardscissorsCard自体をUIImageViewsとし、画像をBalnkCard.pngに設定するのはなぜですか?

let imageBlankCard = UIImage(named: "BlankCard.png") 
rockCard.image = imageBlankCard 
scissorsCard.image = imageBlankCard 
paperCard.image = imageBlankCard 
+0

ありがとうございます! UIViewではなくUIImageViewとしてカードを設定するのはとても明らかでした。ありがとう、仲間、問題解決。 –

関連する問題