回答編集履歴
3
修正
test
CHANGED
@@ -49,3 +49,7 @@
|
|
49
49
|
}
|
50
50
|
|
51
51
|
```
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
[1]→[2]の時先頭にこないというのがよくわかりませんが、初期表示なので何もtextViewにしなければ先頭になると思います。
|
2
修正
test
CHANGED
@@ -1,10 +1,6 @@
|
|
1
|
-
|
1
|
+
[2]番目のViewControllerと想定して最低限で書きました。
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
試してみてください。
|
6
|
-
|
7
|
-
※先頭にキャレット(カーソル)が入ってしまいますが、気にならなければ良いと思います・・・
|
8
4
|
|
9
5
|
|
10
6
|
|
@@ -14,41 +10,39 @@
|
|
14
10
|
|
15
11
|
|
16
12
|
|
17
|
-
class ViewController: UIViewController
|
13
|
+
class ViewController: UIViewController {
|
18
14
|
|
19
15
|
|
20
16
|
|
21
17
|
@IBOutlet weak var textV: UITextView!
|
22
18
|
|
23
|
-
var is
|
19
|
+
var isDidDisappearFlg: Bool = true
|
24
20
|
|
21
|
+
|
25
22
|
|
23
|
+
override func viewWillAppear(animated: Bool) {
|
26
24
|
|
27
|
-
override func viewDidLoad() {
|
28
|
-
|
29
|
-
super.view
|
25
|
+
super.viewWillAppear(animated)
|
30
26
|
|
31
27
|
|
32
28
|
|
29
|
+
if isDidDisappearFlg {
|
30
|
+
|
31
|
+
isDidDisappearFlg = false
|
32
|
+
|
33
|
+
let top = NSRange(location: 0, length: 0)
|
34
|
+
|
33
|
-
textV.
|
35
|
+
textV.scrollRangeToVisible(top)
|
36
|
+
|
37
|
+
}
|
34
38
|
|
35
39
|
}
|
36
40
|
|
37
|
-
|
41
|
+
|
38
42
|
|
39
|
-
|
43
|
+
override func viewDidDisappear(animated: Bool) {
|
40
44
|
|
41
|
-
func textViewDidBeginEditing(textView: UITextView) {
|
42
|
-
|
43
|
-
if !isShowedFirstKeyboard {
|
44
|
-
|
45
|
-
// 画面表示時1回のみ実行
|
46
|
-
|
47
|
-
textView.selectedRange = NSMakeRange(0, 0)
|
48
|
-
|
49
|
-
|
45
|
+
isDidDisappearFlg = true
|
50
|
-
|
51
|
-
}
|
52
46
|
|
53
47
|
}
|
54
48
|
|
1
修正
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
@IBOutlet weak var textV: UITextView!
|
22
22
|
|
23
|
-
var is
|
23
|
+
var isShowedFirstKeyboard: Bool = false
|
24
24
|
|
25
25
|
|
26
26
|
|
@@ -34,27 +34,19 @@
|
|
34
34
|
|
35
35
|
}
|
36
36
|
|
37
|
-
|
37
|
+
|
38
38
|
|
39
|
-
override func viewDidAppear(animated: Bool) {
|
40
|
-
|
41
|
-
super.viewDidAppear(animated)
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
isViewDidAppeared = true
|
46
|
-
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
// UITextViewのDelegateで処理
|
39
|
+
// UITextViewのDelegateで処理
|
52
40
|
|
53
41
|
func textViewDidBeginEditing(textView: UITextView) {
|
54
42
|
|
55
|
-
if !is
|
43
|
+
if !isShowedFirstKeyboard {
|
44
|
+
|
45
|
+
// 画面表示時1回のみ実行
|
56
46
|
|
57
47
|
textView.selectedRange = NSMakeRange(0, 0)
|
48
|
+
|
49
|
+
isShowedFirstKeyboard = true
|
58
50
|
|
59
51
|
}
|
60
52
|
|