Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] 필터 뷰 구현 #97

Merged
merged 3 commits into from
Mar 19, 2023
Merged

[Feat] 필터 뷰 구현 #97

merged 3 commits into from
Mar 19, 2023

Conversation

nomatterjun
Copy link
Member

@nomatterjun nomatterjun commented Mar 18, 2023

⚠️ 이슈 번호

#96

✌️ 구현/추가 사항

  • 필터 뷰 구현

💬 코멘트

추가한 기능에 대한 설명 및 리뷰 참고 사항

Simulator.Screen.Recording.-.iPhone.14.-.2023-03-18.at.20.41.50.mp4

버그 있음...

#91 여기에도 추가해뒀거든

스크린샷 2023-03-18 20 45 06

.clear 였던 배경이 갑자기 색이 생겨

스크린샷 2023-03-18 20 45 37

아마 present될 때 배경으로 깔리는 이 회색 뷰 때문인거 같은데
UIButton에서 뭘 건드려봐도 그대로네..

떠오르는 해결법 있을까??

@nomatterjun nomatterjun requested a review from eung7 as a code owner March 18, 2023 11:47
@nomatterjun nomatterjun self-assigned this Mar 18, 2023
@nomatterjun nomatterjun added the ✨ New Feature 신규 기능 (목표, 달성률) label Mar 18, 2023
@nomatterjun nomatterjun linked an issue Mar 18, 2023 that may be closed by this pull request
2 tasks
Copy link
Member

@eung7 eung7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. image

혹시 에셋 아이콘 이름 바뀌었는데 나한테 적용이 안 된거 맞지...?
에셋 이름의 대문자가 들어가서 아이콘들이 하나도 안 보이는 것 같네 ㅠㅠ


// HeaderView.swift

private extension HeaderView {
  func makeFilterButton(title: String) -> UIButton {
    var configuration = UIButton.Configuration.plain()
    var attributedTitle = AttributedString(title)
    attributedTitle.font = .favorFont(.bold, size: 16)
    configuration.attributedTitle = attributedTitle
    configuration.baseForegroundColor = .favorColor(.titleAndLine)
    configuration.contentInsets = NSDirectionalEdgeInsets(
      top: .zero,
      leading: .zero,
      bottom: .zero,
      trailing: .zero
    )
    
    let handler: UIButton.ConfigurationUpdateHandler = { button in
      switch button.state {
      case .selected:
        button.configuration?.background.backgroundColor = .clear 🟢
        // button.configuration?.baseBackgroundColor = .clear ❌
        button.configuration?.baseForegroundColor = .favorColor(.titleAndLine)
      case .normal:
        button.configuration?.background.backgroundColor = .clear
        button.configuration?.baseForegroundColor = .favorColor(.explain)
      default:
        break
      }
    }
    
    let button = UIButton(configuration: configuration)
    button.configurationUpdateHandler = handler
    
    return button
  }
}

이걸 고쳐주면 해결돼!

애매하긴 하지만.. 내가 생각하는 원인은
baseBackgroundColorUIButton.Configuration을 어떤 것을 해주냐에 따라서
Overlay가 될 수도 있고, Gray가 될 수도 있고 한데..

뷰의 계층 구조상 UIButton.Configuration.Plainbackground도 그냥 투명처럼 보이긴 하는데
Apple이 만들어 놓은 건 우리가 쓰는 것처럼 backgroundColor = .clear 이런 식이 아니라
다른 방식으로 투명하게 만들어놔서 그런 게 아닐까??
이 점은 나도 잘 모르겠네...

그래서 background로 직접 참조해서 들어가면 UIButton.Configuration의 상태에 무관하게
그 자체를 바꿔줄 수 있는 것 같아!

@nomatterjun
Copy link
Member Author

와우...

배경 문제 수정됐어..

애플아... 대환장...
이거만 두시간은 찾은거 같은데...

고마워!!

@nomatterjun
Copy link
Member Author

스크린샷 2023-03-19 10 18 51

애셋은 디자인에 소문자로 바뀌어있더라고...!?
그래서 그대로 넣어줬어!

@nomatterjun
Copy link
Member Author

디스코드 자료 채널에 이미지 올려놨어!

@eung7 eung7 self-requested a review March 19, 2023 01:23
@eung7 eung7 merged commit a5b4fd0 into dev Mar 19, 2023
@eung7 eung7 deleted the FAVOR-119/Feat/FilterView branch March 19, 2023 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ New Feature 신규 기능 (목표, 달성률)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feat] FilterView 구현
2 participants