viewController modalPresentationStyle 질문

18.07.15 00:22 작성 조회수 149

0

알려주신대로 팝업창 처럼 다른 VC로 넘어갈 때 뒤에 투명처리를 하려고 이 코드를 사용하였습니다

'''translangVC.modalPresentationStyle = .overCurrentContext'''

투명처리는 잘 되었는데 이 코드를 사용하고 다시 그 전 VC로 넘어가면 viewWillApear가 정상적으로 호출되지 않네요

저 코드를 주석처리 하니 viewWillApear가 정상적으로 호출되어 질문남깁니다!!

그리고 하나 더 추가로 질문하고 싶은데 UIButton의 title color를 바꾸려고

'''let themeColor = UIColor(red: 93, green: 199, blue: 145, alpha: 1)'''

'''koreanButtonText.setTitleColor(themeColor, for: .normal)'''

위와 같이 코드를 사용했는데 아예 글씨가 보이지 않더라구요 무슨 문제가 있는지 궁금합니다!!

답변 1

답변을 작성해보세요.

0

modalPresentationStyle을 overCurrentContext로 해서 투명하게 띄우면 뒤의 뷰는 숨겨진게 아닌걸로 됩니다.
그러므로 현재 팝업이 내려간다고 해서 뒤에 뷰가 안보였다 보이는게 아닌 계속 보이고 있었으므로 ViewWillAppear계열의 함수가 호출되지 않는것입니다.
그 문제를 해결하는 방법은 팝업에 delegate를 걸어서 내려가면 호출하는 기능을 만드는 형태가 필요합니다.
UIColor에서 red, green, blue 설정값은 0~1사이 값을 입력받습니다.그래서 입력한 값이 1보다 크면 그냥 1로 설정이 된 것이고,
모든 컬러를 1로 하면 흰색이 되어 보이지 않는 것 처럼 된 것입니다.
그러므로 red: 93/255, green: 199/255, blue: 145/255 이런식으로 하면 됩니다.