Skip to content

Commit 3ad2e31

Browse files
committed
[Feat] #265 - 코스 업로드 업로드 버튼 활성화 로직 수정
1 parent 1b638cb commit 3ad2e31

1 file changed

Lines changed: 16 additions & 23 deletions

File tree

Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseUploadVC.swift

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

147154
extension 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-
203196
extension 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+
304300
extension 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

Comments
 (0)