質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1901閲覧

【Swift】シミュレーターの機種によってButtonやフォントサイズを適切に変更させる

yuna_

総合スコア23

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/08/21 09:07

編集2020/08/21 10:16

前提・実現したいこと

簡単なタイマーアプリを制作しています。
基本、シミュレータで動きやデザインを確認する時はIphone XS Maxを指定して確認しています。

ですが、他の機種に変更し、シミュレータを起動してみると
アプリ内のButtonのサイズやフォントサイズが大きすぎる、小さすぎるなど
見た目を統一できていません。。

Swiftでレスポンシブ対応(というのかわかりませんが…)する方法を知りたいです。
機種を変えても統一された見た目にしたいです。

どなたかご教示いただけると大変ありがたいです。。

・UI部品の配置はStoryboardを使用しています。
・StartButton[height:50 left&right margin:30 buttom margin: 20, fontsize: 33]
・resetButton[top margin: 20, left&right margin:80 buttom margin: 40, fontsize: 25]

例iPhone7の場合
iPhone XS Max

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2020/08/21 10:04 編集

UI部品の配置は、StoryBoardを使っていますでしょうか。それとも、コードベースで行っていますでしょうか。 ご質問の本文にそのあたりを追記していただくと(できれば、実際のコードや拘束の条件なども)より適切な回答がつくかもしれません。
yuna_

2020/08/21 10:10

TsukubaDepotさま いつもご回答ありがとうございます????????‍♀️ 配置はStoryboardを使用しています。 アドバイスありがとうございます!修正させていただきます。
guest

回答1

0

ベストアンサー

部品幅について

・StartButton[height:50 left&right margin:30 buttom margin: 20, fontsize: 33]
・resetButton[top margin: 20, left&right margin:80 buttom margin: 40, fontsize: 25]

上記の例だと、ボタンの幅やマージンを「固定値」として設定していますが、例えばデバイスにおける表示領域の「幅・高さ」を基準にし、その何割を割り当てる、という方法を使えばそれなりに柔軟な配置をすることは可能です。

StoryBoard ベースだとあまり細かい指定は難しいのですが、デバイスの幅、高さを基準とした設定については、たとえば下記のような記事が参考になるかもしれません。

  • [【Swift4】AutoLayoutを使ってサイズを比率で指定する方法

](https://qiita.com/siropaca/items/6c5d54ae10ead38d3f39)

Swift 4/Xcode 9 向けの記事ですが、現行の Swift 5/Xcode 11 でも同じ方法で可能です。

かなり古い記事で、多少読み替えが必要ですが、teratail の過去問で出ていたのは下記のサイトです。

上記のサイトでは、マージンを動的に指定する方法が、透明の UIVew を使った例として出ていますので、これを参考にされるのもいいかと思います。

##フォントサイズについて

フォントサイズについては、下記のリンクが参考になるかと思います。

  • [Xcode Storyboardを使用して、デバイスごとに異なるフォントサイズを設定する方法

](https://www.it-swarm.dev/ja/ios/xcode-storyboard%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%94%E3%81%A8%E3%81%AB%E7%95%B0%E3%81%AA%E3%82%8B%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/837613230/)

  • [Human Interface Guidelines - Adaptivity and Layout

](https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/)

どちらにしても、現在のレイアウトに直接適用させるのは危険なので、まずはからのプロジェクトを作成し、いろいろ配置を試されてから、実際のレイアウトに適用されるのがいいかと思います。

また、かなり説明が大雑把になったので、具体的にわからない点があればコメントなどで指摘していただければとおもいます。

投稿2020/08/22 00:09

TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuna_

2020/08/26 08:09

いつも詳細に教えてくださり、ありがとうございます! 今回も大変大変助かりました! 本当にありがたいです! 基本的な質問にいつも丁寧に答えてくださり、感謝しきれません! 遅れてしまい申し訳ありません。。
TsukubaDepot

2020/08/26 08:22

適切な回答ができたのか心配でしたが、とりあえず解決したようでよかったです。 Autolayoutはそれなりにコツがいるような感じがありますので、いくつか練習してみると良いかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問