2016-04-07 2 views
0
noobの質問を事前に申し訳ありません

スウィフトUIViewのカスタムポジション

私はこの見解は、私は、画面の一番下に持っているボタンをカバー1回のキャッチで完璧に動作し、以下の機能を持っています。この機能を調整するには、ボタンの画面の下部に50ピクセルのスペースを残すようにしてください。 mainScreen()。boundsを使用して、上部または下部にスペースを残してもかまいませんか?一般に

func flashColor() { 
    if let window = self.view{ 
     let screenSize: CGRect = UIScreen.mainScreen().bounds 
     let v = UIView(frame: screenSize) 

     v.backgroundColor = colors[i] 
     v.alpha = 1 

     if i < 4 { 
      i += 1 
     } else { 
      i = 0 
     } 

     window.addSubview(v) 
     UIView.animateWithDuration(1, animations: { 
      v.alpha = 0.0 
      }, completion: {(finished:Bool) in 
       print(i) 
       v.removeFromSuperview() 
     }) 

    } 
} 

答えて

1

、それはUIScreen.mainScreen()を使用して回避することが最良である。このような境界は、デバイス全体の画面の境界を返します。分割画面のマルチタスクの前には、アプリ全体が画面全体を占めると仮定するのが大丈夫でした。代わりに、あなたのビューコントローラのビューの境界を使用することができます。 YES =

func flashColor() { 
    if let vcView = self.view{ 
     let viewSize: CGRect = CGRect(x:0.0,y:0.0,width:vcView.bounds.size.width,height:vcView.bounds.size.height - 50.0) 
     let v = UIView(frame: viewSize) 

     v.backgroundColor = colors[i] 
     v.alpha = 1 

     if i < 4 { 
      i += 1 
     } else { 
      i = 0 
     } 

     window.addSubview(v) 
     UIView.animateWithDuration(1, animations: { 
      v.alpha = 0.0 
      }, completion: {(finished:Bool) in 
       print(i) 
       v.removeFromSuperview() 
     }) 

    } 
} 
+0

今テストすることはできませんが、私はあなたにもv.translatesAutoresizingMaskIntoConstraintsが必要になると信じて:あなたは下の上記50点の上からあなたのView Controllerのビューをカバーするためにビューを使用する場合は、あなたのような何かを言うことができます; – user3802077

+0

はローカルデバイスでは動作しないようですが、このトピックについてはほとんど分かりません。 –

関連する問題