2016-07-18 17 views
0

iOSの画面ごとにボタンの中央がボタンの中央にくるように制約を設定する方法を教えてくださいサイズ?電話の画面の下部にボタンの中央を配置する(画面のサイズに関係なく)

これはボタンの中央が画面の底部に配置され、下半分は、画面に表示されていない理想的な場合である:以下のコードで

enter image description here

、これは何が起こっているかであります、これは私が欲しかったものではありません。

enter image description here

は、私はこれを試してみました

iPhone 6の画面でのみ動作し、iPad Miniなどの他の画面では動作しません。

このような数式を一般化できる方法があれば、画面のサイズに関係なくすべてのボタンの中心が画面の下部にうまく配置されることが分かりますか?

私は数日間試してみて、どこでも検索しましたが、単なる手掛かりは見つかりません。ありがとう!

+0

:これらはあなたが位置決めのために追加する必要があります2つの制約でありますか? –

+0

@TejaNandamuriうん。ボタンの中央が、画面の下部に配置されていることを意味します:http://i.stack.imgur.com/mBKRb.jpg、これは何が起こっているかではなく、http://i.stack .imgur.com/Yma8d.jpg – maymaymaymaymay

答えて

1
[qrScanner.centerYAnchor constraintEqualToAnchor:self.bottomLayoutGuide.topAnchor constant:0].active = YES; 
0

モックアップの外観に基づいて、私はあなたのボタンが固定サイズではなく、コンテナのサイズに応じて拡大/縮小すると推測しています。このため、100のオフセットは、ボタンの高さが200になったときにのみ機能します。

ボタンのサイズを決める方法はわかりませんが、そのX座標を設定し、ボタンの中心Y valがコンテナの底部と等しい場合のボトム拘束を設定します。あなたはボタンの中央を意味しています

// Center X value in the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterX 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeCenterX 
          multiplier:1 
           constant:0]; 

// Center button's Y value to the bottom of the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterY 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeBottom 
          multiplier:1 
           constant:0]; 
関連する問題