2016-12-01 6 views
0

私はiOS開発の新機能で、自動レイアウトは一度も行っていません。実際には高さと幅を固定することなくすべての画面を丸くする必要があるビューコントローラ....私は多くのチュートリアルを見てきましたが、それらのラウンドボタンにどのように制約を加えて、すべての画面上で同じ位置に表示するかを理解できませんでした。画面のサイズが小さくなると、画面のサイズが大きくなったり小さくなったりすると、実際にはボタンのサイズを大きくしたいと考えています。 this shows how buttons are added on my view controller 高さと幅を固定しないで自動ボタンを表示する

答えて

0

完全な円形ボタン(円)が必要な場合は、幅と高さが同じである必要があります。そのため、幅と高さが等しくなるように乗数1:1のアスペクト制約を設定します。

あなたが提供したスクリーンショットに基づいて、制約はのようになりますどのように以下を参照してください。

enter image description here

-2

このコードを使用して丸ボタンを作成します。 Buttonの現在の高さをプログラムで取得し、角の半径に高さの半分を割り当てて丸めます。

[self.view layoutIfNeeded]; 
[self.view setNeedsLayout]; 
self.yourButton.layer.cornerRadius = self.yourButton.frame.size.height/2; 
self.yourButton.clipsToBound = YES; 
+0

私はすでにラウンドにそれを作った....私はそれがでそれを表示します同じ位置で、すべての画面で必要に応じて高さと幅を増減できます。 – TestShroff

0

さて、二つの点:

  • ポジション:さて、あなたは、私はあなたがview.frame = CGRectMake(10, 20, 50, 50)知っているが、同じコードが「同じ位置」にはつながらないと思います「すべての画面で同じ位置」を正確に理解して必要別の画面では、重要なことはあなたがどのようにしたいかです。スクリーンが増えていると思ったら、その上に正方形があります。この正方形の変化は何を望んでいますか?異なる変更スタイルは異なるコードにつながります。

  • サイズ:あなたが画面に増加または減少しますが、正方形たいと述べ、基本的な方法は、square.width && square.heightが画面に変更させている、利用枠のレイアウト場合はview.frame = CGRectMake(10, 20, SCWidth * 0.0666, SCHeight * 0.0833)を書くことが、確かにサポート規模の計算を自動レイアウト、私はあなたがフリーメーソンを使用することをお勧めレイアウトを追加するには、サンプルコードは次のように:

あなたがそれを行うにはXIBを使用する場合はもちろん

[square mas_remakeConstraints:^(MASConstraintMaker *make) { make.width.equalTo(self.mas_width).multipliedBy(0.0083); }];

、あなたは制約が乗数を持って見ることができます問題を解決するためのプロパティ。

関連する問題