기한: ~2020.05.02(금)
// 네비게이션 영역 그라데이션색
navigationController?.navigationBar.backgroundColor = .red
// 툴바 버튼색
navigationController?.navigationBar.tintColor = .blue
// 네비게이션 영역색
navigationController?.navigationBar.barTintColor = .white
// 네비게이션 hidden with Animation
navigationController?.setNavigationBarHidden(false, animated: false)
// 네비게이션 백버튼 텍스트
navigationController?.navigationBar.backItem?.title = ""
// 네비게이션 하단밑줄 제거
navigationController?.navigationBar.shadowImage = UIImage()
extension UILabel {
func underLine() {
guard let text = self.text else {
return
}
let attributedString = NSMutableAttributedString(string: text)
attributedString.addAttribute(.underlineStyle, value: 1, range: (text as NSString).range(of: text))
self.attributedText = attributedString
}
}
- extension
- 기존의 타입을 확장해서 추가하는 개념
- 여기서 self는 Label이 됨
- NSMutableAttributedString을 이용해서 속성추가후 라벨에 적용시켜주기
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
scrollView.contentInsetAdjustmentBehavior = .never
}
extension ScrollViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0.0 {
// Scrolling down: Scale
imgViewHeightLayout.constant = headerImgHeight - scrollView.contentOffset.y
} else {
// Scrolling up: Parallax
var height = headerImgHeight - scrollView.contentOffset.y
height = height > minHeaderImgHeight ? height : minHeaderImgHeight
imgViewHeightLayout.constant = height
}
}
}
-
scrollViewDidScroll - ScrollViewDelegate함수
- 스크롤이 되면 실행되는 함수
-
스크롤뷰의 contentOffset에 따라 이미지가 커지고 작아짐
-
위로 스크롤시 최소로 보여질 높이정해주기
-
contentInsetAdjustmentBehavior
- contentInset을 자동을 조정해주는역할
- safe area 만큼 inset이 조정됨 (여백이 생김)