回答編集履歴

2

修正

2016/07/02 23:46

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- フォントを変更することで範囲指定がうまくいったので、BoldフォントがあるフォントでSystemフォントに近いものを使用して以下の様に対応してみました。
37
+ フォントを変更することで範囲指定がうまくいったので、`Bold`があるフォントで`System`フォントに近いものを使用して以下の様に対応してみました。
38
38
 
39
39
 
40
40
 

1

修正

2016/07/02 23:46

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -14,4 +14,94 @@
14
14
 
15
15
  ![image](4ace25f02e9af964bacf0edbeabb34e1.png)
16
16
 
17
+ ![image](5955c7682f71d878563ad771ee7ec4e2.png)
18
+
19
+
20
+
21
+ 回答追記
22
+
23
+ ---
24
+
25
+
26
+
27
+ 確かにTextViewだと範囲指定がうまくいかないことを確認しました。
28
+
29
+ 調べてみましたが、自分でも解決方法が分かりませんでした、、、(T_T)
30
+
31
+
32
+
33
+ 暫定対応
34
+
35
+
36
+
37
+ フォントを変更することで範囲指定がうまくいったので、BoldフォントがあるフォントでSystemフォントに近いものを使用して以下の様に対応してみました。
38
+
39
+
40
+
41
+ ```swift
42
+
43
+ import UIKit
44
+
45
+
46
+
47
+ class ViewController: UIViewController {
48
+
49
+
50
+
51
+ @IBOutlet weak var textV1: UITextView!
52
+
53
+ @IBOutlet weak var textV2: UITextView!
54
+
55
+
56
+
57
+ override func viewDidLoad() {
58
+
59
+ super.viewDidLoad()
60
+
61
+
62
+
63
+ let attrText1 = NSMutableAttributedString(string: "test")
64
+
65
+ attrText1.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(20), range: NSMakeRange(0, 4))
66
+
67
+ attrText1.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFontOfSize(20), range: NSMakeRange(0, 1))
68
+
69
+ textV1.attributedText = attrText1
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ let attrText2 = NSMutableAttributedString(string: "テスト")
78
+
79
+ attrText2.addAttribute(NSFontAttributeName, value: UIFont(name: "AmericanTypewriter", size: 20)!, range: NSMakeRange(0, 3))
80
+
81
+ attrText2.addAttribute(NSFontAttributeName, value: UIFont(name: "AmericanTypewriter-Bold", size: 20)!, range: NSMakeRange(0, 1))
82
+
83
+
84
+
85
+ textV2.attributedText = attrText2
86
+
87
+ }
88
+
89
+ }
90
+
91
+ ```
92
+
93
+
94
+
95
+ 古い記事ですが、日本語フォントの比較ができたので以下を参考にしました。
96
+
97
+ [iOSで使える font familyの一覧画像](http://tuki0918.hatenablog.com/entry/2013/02/16/163334)
98
+
99
+
100
+
101
+ 結果
102
+
17
- ![image](5bed419c78a6b024b391be500ec0f8dd.png)
103
+ ![image](c8d2f182231bb41d8847c051a0567ff4.png)
104
+
105
+
106
+
107
+ 暫定的な対応ですが参考にしてください。