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

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

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

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

2549閲覧

UITextViewとUILabel、それぞれの行数を返す方法がわからずに困っております。

Ando77

総合スコア13

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/09/19 02:15

お世話になります。
現在、”テキストビューに入るテキストの行数によってフォントサイズを変える” という内容を実装したいと思っておりますが、”任意のテキストビュー又はラベルの行数を返す”というメソッドの書き方がわからず、困っております。
お分かりになる方がいらっしゃいましたら、ご教授頂けますと幸いでございます。
宜しくお願いします。

Ando

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

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

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

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

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

fuzzball

2016/09/20 01:12

UITextViewは、テキストを入力している最中にフォントサイズを変えたいのでしょうか?
Ando77

2016/09/20 01:27

ご返信ありがとうございます。 テキストビュー、ラベル、どちらの場合でも、テキストを入力している最中ではなく、元々入っているテキストの行数を判断してフォントサイズを変えたいです。流れといたしましては、ボタンが一回押されるごとに、文字列を格納した配列から、ランダムに文字列を抜き出し、一つのテキストビューに入れ込んでいき、そのテキストの行数によって、そのテキストビューのフォントサイズを変更したいです。 何卒よろしくお願い致します。 Ando
fuzzball

2016/09/20 01:51

入力中に使わないなら、UITextViewじゃなくてUILabelでも良くないですか?
Ando77

2016/09/20 03:27

表示されたテキストを選択し、コピーなどできるようにもしたいのですが、ラベルでも選択可能の仕様に変更できるのでしょうか? 初歩的な質問で申し訳ありません。 Ando
fuzzball

2016/09/20 03:51

なるほど。それならUITextViewじゃないとダメですね。「テキスト部分(UILabel)をタップして全選択」程度のことなら出来そうですけども。
Ando77

2016/09/20 04:03

テキストビューでないと難しいのですね。 では、不特定の行数を判断して動的にフォントを変える場合は、ラベルで対応すべきということなのですね。 お手数おかけして申し訳ありません。 Ando
fuzzball

2016/09/20 05:25 編集

回答にも書きましたが、手間を掛ければUITextViewのサイズに合わせたフォントサイズを求めることは出来ます。(もちろん、もっと良い方法があるかも知れませんが)
Ando77

2016/09/20 05:20

かしこまりました。 教えて頂きましたラベルでの方法の方が全体的にスッキリしそうですので、どうしてもという部分のみテキストビューで手間をかけてやる、という方法で進めたいと思います。 的確なアドバイスありがとうございました。 Ando
guest

回答1

0

ベストアンサー

UILabel

swift

1label.numberOfLines = 0 //行数制限(任意) 2label.adjustsFontSizeToFitWidth = true //フォントサイズの自動調整ON 3label.minimumScaleFactor = 0.1 //最小フォントスケール(任意)

これで自動的にフォントサイズを調整してくれます。

Storyboardなら、それぞれ、
Lines 0
Autoshrink Minimum Font Scale
(↑のすぐ下) 0.1

UITextView

いい方法がすぐに思い付かないのでとりあえず。
フォントのサイズを変えつつUITextViewに収まるフォントサイズを見つける
という泥臭い方法で。

投稿2016/09/20 01:12

fuzzball

総合スコア16731

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

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

Ando77

2016/09/20 01:31

ご返信ありがとうございます。 ラベルにつきましては、このような便利な方法があったのですね、大変勉強になります。 Storyboardでの場合も教えて頂き、誠にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問