teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

説明文の追加と軽微な修正

2019/12/28 14:34

投稿

1101hiroki_n
1101hiroki_n

スコア4

title CHANGED
File without changes
body CHANGED
@@ -11,8 +11,10 @@
11
11
  ### 問題が起こっているViewController
12
12
  ```swift
13
13
  class SearchViewController: UIViewController {
14
+ //検索ボタンの上下空白
14
15
  private let buttonVerticalMargin: CGFloat = 60.0
15
16
 
17
+ //APIのための構造体
16
18
  struct searchingBookInfo {
17
19
  var title: String?
18
20
  var authors: [String?]
@@ -23,6 +25,7 @@
23
25
  var ISBNCode: String?
24
26
  }
25
27
 
28
+ //入力欄ひとつ分を表す構造体
26
29
  struct MainInputStruct {
27
30
  var label: MainInputLabel
28
31
  var textField: MainInputTextField
@@ -31,6 +34,7 @@
31
34
  var keyboardType: Int = 0
32
35
  }
33
36
 
37
+ //入力欄UIのインスタンス郡
34
38
  private let titleInputLabel: MainInputLabel = MainInputLabel()
35
39
  private let titleInputTextField: MainInputTextField = MainInputTextField()
36
40
 
@@ -53,41 +57,15 @@
53
57
  private let isbnCodeInputTextField: MainInputTextField = MainInputTextField()
54
58
 
55
59
  private let searchButton: MainCenterButton = MainCenterButton()
56
-
57
- private var searchData: searchingBookInfo = searchingBookInfo(
60
+
58
- title: nil,
59
- authors: [],
60
- publisher: nil,
61
- edition: nil,
62
- condition: nil,
63
- priceUpperLimit: nil,
64
- ISBNCode: nil,
65
- )
66
-
67
-
68
61
  @objc private func searchButtonEvent(_ sender: MainCenterButton) {
69
- sender.setTitle("検索中", for: UIControl.State.normal)
70
-
71
- searchData = searchingBookInfo(
72
- title: titleInputTextField.text!,
73
- authors: [authorInputTextField.text!],
74
- publisher: publisherInputTextField.text!,
75
- edition: editionInputTextField.text!,
76
- condition: conditionInputTextField.text!,
77
- priceUpperLimit: upperLimitInputTextField.text!,
78
- ISBNCode: isbnCodeInputTextField.text!,
79
- )
80
- print(searchData)
62
+ //検索ボタン押下処理
81
63
  }
82
64
 
83
- override func viewDidLayoutSubviews() {
84
- super.viewDidLayoutSubviews()
85
-
86
- view.layoutIfNeeded()
87
- }
88
-
89
65
  override func viewDidLoad() {
90
66
  super.viewDidLoad()
67
+
68
+ //入力欄の配置ViewとScrollView
91
69
  let searchPageScrollView: UIScrollView = UIScrollView()
92
70
  self.view.addSubview(searchPageScrollView)
93
71
  searchPageScrollView.translatesAutoresizingMaskIntoConstraints = false
@@ -113,6 +91,7 @@
113
91
  searchPageScrollView.contentLayoutGuide.bottomAnchor.constraint(equalTo: searchPageContentView.bottomAnchor)
114
92
  ])
115
93
 
94
+ //検索ボタン
116
95
  searchButton.setTitle("検索", for: UIControl.State.normal)
117
96
  searchButton.addTarget(self, action: #selector(searchButtonEvent(_:)), for: UIControl.Event.touchUpInside)
118
97
  self.view.addSubview(searchButton)
@@ -124,6 +103,7 @@
124
103
  searchButton.widthAnchor.constraint(equalTo: self.view.widthAnchor, multiplier: 0.86),
125
104
  ])
126
105
 
106
+      //入力欄構造体MainInputStructの配列
127
107
  let mainInputs:[MainInputStruct] = [
128
108
  MainInputStruct(label: titleInputLabel, textField: titleInputTextField, labelText: "タイトル・書籍名", placeholderText: "タイトル・書籍名を入力"),
129
109
  MainInputStruct(label: authorInputLabel, textField: authorInputTextField, labelText: "筆者・訳者", placeholderText: "筆者・訳者名を入力"),
@@ -134,6 +114,7 @@
134
114
  MainInputStruct(label: isbnCodeInputLabel, textField: isbnCodeInputTextField, labelText: "ISBNコード", placeholderText: "ISBNコードを入力"),
135
115
  ]
136
116
 
117
+ //appendMainInputs()メソッドで配置
137
118
  self.appendMainInputs(structArray: mainInputs, target: searchPageContentView.topAnchor, firstConstant: (buttonVerticalMargin*2 + 60.0), appendTargetView: searchPageContentView)
138
119
  NSLayoutConstraint.activate([
139
120
  searchPageContentView.heightAnchor.constraint(equalToConstant: 1200.0),