iOS布局问题请教
大家讲道理
大家讲道理 2017-04-18 09:26:21
0
4
320

学习了几天iOS(依然小白)
之前是做Android的
我想问下 是否有像Android那样的可以在布局文件xml中设置高度呢

现在我只知道在xib中设置了 无效
是不是iOS要控制view的高度 必须要在代码中通过CGRectMake来设置吗

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
刘奇

回答者も、iOS に来る前に数年間 Android を書いてきた技術屋です。最初は iOS に違和感を感じましたが、数か月書いて慣れてくると、Android をうまく書くことができなくなっていることがわかりました。 iOS は実際、私が当初考えていたよりもはるかに書きやすく、Android よりもはるかに便利だからです。

私が iOS 開発を学び始めた当初に拒否した理由としては、Xcode の使用感が少々悪かったことが大きいです。 Xcode には大きな問題があります。明らかに非常に便利でよく使用される関数が、プロンプトも表示されずにアイコンとして隅に配置されます。

Interface Builder の AutoLayout 制約機能にも同じことが当てはまります。ビジュアル編集領域の右下隅に配置される 4 つの目立たない小さなアイコンです。コントロールを選択し、2 番目のボタンをクリックして水平および垂直のセンタリング制約を設定します。3 番目のボタンをクリックして、最後に最も近いコントロールからの距離、固定幅、固定高さ、および固定アスペクト比を設定します。ボタンは、ビューを更新する良好な制約を設定するために使用されます。これら 4 つのボタンの機能はさらに強力です。コマンドを押したまま複数のコントロールを選択すると、複数のコントロールの配置などを設定できます。

コントロールに制約が設定されると、何らかの制約によってサイズの変更が強制されない限り、コントロールはそのコンテンツに適応する暗黙的な傾向があります。

UILabel などの複数のアダプティブ コンテンツ コントロールがまとめて配置されている場合は、右側のプロパティ バーの [サイズ] ラベルの下部にあるコンテンツ ハグ優先度とコンテンツ圧縮耐性優先度にも注意してください。回答者の語彙は浅く、現時点ではこの関数を明確に説明できません。Android のlayout_weight に似ているとしか言えません。

Android から iOS に切り替える開発者は、AutoLayout の考え方にも特別な注意を払う必要があります。特に、制約の数が少なすぎて曖昧になってはなりません。競合の原因となります。各コントロールの制約は、水平位置、垂直位置、幅、高さを決定するのに十分なものである必要があります (UILabel などはコンテンツに適応できるため、幅と高さを決定する必要はありません)。

回答者自身の実践では、Android Layout では実現できない多くのニーズを AutoLayout で実現できます (回答者が Android について十分な知識を持っていないことも考えられます)。したがって、初心者は AutoLayout が Android Layout ほど便利ではないと感じるかもしれませんが、開発者が AutoLayout のさまざまな使い方をマスターすると、AutoLayout が同等に便利でより強力なツールであることがわかるでしょう。

いいねを押す +0
伊谢尔伦

xib のスクリーンショットとコードを投稿していただけますか? 場合によっては、自動レイアウトがデフォルトで有効になっています

いいねを押す +0
左手右手慢动作

xib で高さを直接設定できますが、柔軟性が十分ではありません。AutoLayout について学ぶことができます

いいねを押す +0
大家讲道理

iOS では現在、自動レイアウトが使用されています。もちろん、オフにして「絶対配置」を使用することもできます。自動レイアウトは、Android の現在の制約レイアウトに似ています。 relativelayout と似ている点もいくつかありますが、それほどではありません。これを使用するには、ビューにカーソルを置き、Ctrl キーを押しながらドラッグします。次に、特定のパラメータを設定します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート