@@ -141,24 +141,19 @@ extension CourseUploadVC {
141141 name: UIResponder . keyboardWillHideNotification,
142142 object: nil )
143143 }
144+
145+ // 업로드 버튼 상태 업데이트 메소드
146+ private func updateUploadButtonState( ) {
147+ let isTitleNotEmpty = !( courseTitleTextField. text? . trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty ?? true )
148+ let isContentNotEmptyAndNotPlaceholder = !( activityTextView. text. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty || activityTextView. text == placeholder)
149+ uploadButton. setEnabled ( isTitleNotEmpty && isContentNotEmptyAndNotPlaceholder)
150+ }
144151}
145152// MARK: - @objc Function
146153
147154extension CourseUploadVC {
148155 @objc private func textFieldTextDidChange( ) {
149- guard let text = courseTitleTextField. text else { return }
150-
151- if text. count > courseTitleMaxLength {
152- let index = text. index ( text. startIndex, offsetBy: courseTitleMaxLength)
153- let newString = text [ text. startIndex..< index]
154- self . courseTitleTextField. text = String ( newString)
155- }
156-
157- if text. count == 0 && activityTextView. text != self . placeholder && activityTextView. text. count == 0 {
158- uploadButton. setEnabled ( true )
159- } else {
160- uploadButton. setEnabled ( false )
161- }
156+ updateUploadButtonState ( )
162157 }
163158
164159 @objc private func keyboardWillShow( _ notification: Notification ) {
@@ -198,17 +193,18 @@ extension CourseUploadVC {
198193 }
199194}
200195
201- // MARK: - naviVar Layout
202-
203196extension CourseUploadVC {
197+
198+ // MARK: - naviVar Layout
199+
204200 private func setNavigationBar( ) {
205201 view. addSubview ( navibar)
206202 navibar. snp. makeConstraints {
207203 $0. top. leading. trailing. equalTo ( view. safeAreaLayoutGuide)
208204 $0. height. equalTo ( 48 )
209205 }
210206 }
211- // MARK: - setUI
207+ // MARK: - UI & Layout
212208
213209 private func setUI( ) {
214210 view. backgroundColor = . w1
@@ -218,8 +214,6 @@ extension CourseUploadVC {
218214
219215 }
220216
221- // MARK: - Layout Helpers
222-
223217 private func setLayout( ) {
224218 view. addSubview ( buttonContainerView)
225219 view. bringSubviewToFront ( uploadButton)
@@ -301,6 +295,8 @@ extension CourseUploadVC {
301295 }
302296}
303297
298+ // MARK: - UITextViewDelegate
299+
304300extension CourseUploadVC : UITextViewDelegate {
305301 func textViewDidBeginEditing( _ textView: UITextView ) {
306302 if textView. text. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty {
@@ -314,16 +310,13 @@ extension CourseUploadVC: UITextViewDelegate {
314310 }
315311
316312 func textViewDidChange( _ textView: UITextView ) {
317- if !courseTitleTextField. isEmpty && !activityTextView. text. isEmpty {
318- uploadButton. setEnabled ( true )
319- } else {
320- uploadButton. setEnabled ( false )
321- }
313+ updateUploadButtonState ( )
322314
323315 if activityTextView. text. count > 150 {
324316 activityTextView. deleteBackward ( )
325317 }
326318 }
319+
327320 func textViewDidEndEditing( _ textView: UITextView ) {
328321 if textView. text. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty || textView. text == placeholder {
329322 activityTextView. textColor = . g3
0 commit comments