回答編集履歴

6

一括で変更できる点が伝わりにくい文章であったため、文章を修正しました。

2022/12/20 00:59

投稿

uni2
uni2

スコア256

test CHANGED
@@ -1,8 +1,9 @@
1
1
  こちらの内容でいかがでしょうか?
2
2
 
3
- 後から追加した UILabel があるならば
4
- 再度 changeAllSystemFontUILabel() メソッドを
3
+ changeAllSystemFontUILabel() メソッドを実行することで
5
- 実行する必要があります。
4
+ システムフォントを一括で変換します。
5
+
6
+ viewDidLoad() メソッドで実行することを推奨します。
6
7
 
7
8
  ```Swift
8
9
  import UIKit
@@ -20,7 +21,7 @@
20
21
  for i in views {
21
22
  if let label = i as? UILabel {
22
23
  if label.font.fontName == UIFont.systemFont(ofSize: label.font.pointSize).fontName {
23
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)
24
+ //label.font = UIFont(name: "HiraginoSans-W7", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)
24
25
  label.font = UIFont(name: "HiraginoSans-W7", size: label.font.pointSize)
25
26
  print(label.font.fontName)
26
27
  }

5

より良い内容に修正しました。

2022/12/19 03:07

投稿

uni2
uni2

スコア256

test CHANGED
@@ -3,9 +3,6 @@
3
3
  後から追加した UILabel があるならば
4
4
  再度 changeAllSystemFontUILabel() メソッドを
5
5
  実行する必要があります。
6
-
7
- SystemFont が .SFUI-Regular になっている場合の
8
- サンプルコードになります。
9
6
 
10
7
  ```Swift
11
8
  import UIKit
@@ -22,10 +19,9 @@
22
19
  let views = getChild(view)
23
20
  for i in views {
24
21
  if let label = i as? UILabel {
25
- // print(label.font.fontName) //このコメントアウトを外して、どのフォントが使われているかの一覧を確認します。
26
- if label.font.fontName == ".SFUI-Regular" {
27
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)(1回しか実行できないため、2回以上実行するならばうまく修正して下さい)
28
- label.font = UIFont(name: "NotoSansKannada-Regular", size: label.font.pointSize)
22
+ if label.font.fontName == UIFont.systemFont(ofSize: label.font.pointSize).fontName {
23
+ //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)
24
+ label.font = UIFont(name: "HiraginoSans-W7", size: label.font.pointSize)
29
25
  print(label.font.fontName)
30
26
  }
31
27
  }

4

説明を追加しました。

2022/12/19 01:42

投稿

uni2
uni2

スコア256

test CHANGED
@@ -22,8 +22,9 @@
22
22
  let views = getChild(view)
23
23
  for i in views {
24
24
  if let label = i as? UILabel {
25
+ // print(label.font.fontName) //このコメントアウトを外して、どのフォントが使われているかの一覧を確認します。
25
26
  if label.font.fontName == ".SFUI-Regular" {
26
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)
27
+ //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)(1回しか実行できないため、2回以上実行するならばうまく修正して下さい)
27
28
  label.font = UIFont(name: "NotoSansKannada-Regular", size: label.font.pointSize)
28
29
  print(label.font.fontName)
29
30
  }

3

ミスを修正しました。

2022/12/19 01:26

投稿

uni2
uni2

スコア256

test CHANGED
@@ -22,9 +22,8 @@
22
22
  let views = getChild(view)
23
23
  for i in views {
24
24
  if let label = i as? UILabel {
25
-
26
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする。
27
25
  if label.font.fontName == ".SFUI-Regular" {
26
+ //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。(レスポンシブ対応する場合)
28
27
  label.font = UIFont(name: "NotoSansKannada-Regular", size: label.font.pointSize)
29
28
  print(label.font.fontName)
30
29
  }

2

少し分かりやすく修正しました。

2022/12/19 01:24

投稿

uni2
uni2

スコア256

test CHANGED
@@ -1,7 +1,8 @@
1
1
  こちらの内容でいかがでしょうか?
2
2
 
3
3
  後から追加した UILabel があるならば
4
+ 再度 changeAllSystemFontUILabel() メソッドを
4
- 再度実行する必要があります。
5
+ 実行する必要があります。
5
6
 
6
7
  SystemFont が .SFUI-Regular になっている場合の
7
8
  サンプルコードになります。
@@ -10,16 +11,20 @@
10
11
  import UIKit
11
12
 
12
13
  class ViewController: UIViewController {
13
-
14
+
14
15
  override func viewDidLoad() {
15
16
  super.viewDidLoad()
16
17
 
18
+ changeAllSystemFontUILabel()
19
+ }
20
+
21
+ func changeAllSystemFontUILabel() {
17
22
  let views = getChild(view)
18
23
  for i in views {
19
- if i is UILabel {
20
- let label = i as! UILabel
24
+ if let label = i as? UILabel {
25
+
26
+ //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする。
21
27
  if label.font.fontName == ".SFUI-Regular" {
22
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。
23
28
  label.font = UIFont(name: "NotoSansKannada-Regular", size: label.font.pointSize)
24
29
  print(label.font.fontName)
25
30
  }

1

補足を追記しました。

2022/12/19 01:13

投稿

uni2
uni2

スコア256

test CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  後から追加した UILabel があるならば
4
4
  再度実行する必要があります。
5
+
6
+ SystemFont が .SFUI-Regular になっている場合の
7
+ サンプルコードになります。
5
8
 
6
9
  ```Swift
7
10
  import UIKit
@@ -15,8 +18,8 @@
15
18
  for i in views {
16
19
  if i is UILabel {
17
20
  let label = i as! UILabel
18
- //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする。
19
21
  if label.font.fontName == ".SFUI-Regular" {
22
+ //label.font = UIFont(name: "NotoSansKannada-Regular", size: pow(UIScreen.main.bounds.width * label.font.pointSize / 30, 0.5)) // ipadならば文字サイズを大きくする場合。
20
23
  label.font = UIFont(name: "NotoSansKannada-Regular", size: label.font.pointSize)
21
24
  print(label.font.fontName)
22
25
  }