iOS 11에서 증가 된 탐색 표시 줄 제목 사용
iOS 11 베타 1은 거의 모든 시스템 앱에 대해 증가 된 탐색 표시 줄 제목을 사용합니다 (iOS 10 및 음악 앱에서 시작됨). Apple이 iOS 11에서이 기능에 대한 공개 API를 가지고 있는지, 아니면 지금은 비공개로 유지 될지 궁금합니다.
동작은 제목의 글꼴 크기가 증가하고 왼쪽 정렬되며 사용자가 아래로 스크롤하면 탐색 표시 줄로 이동하는 것입니다. 여기에 메시지 앱에서이 동작을 보여주는 몇 가지 화면을 첨부했습니다.
UINavigationController
그리고 UINavigationBar
지금까지 참조를 찾을 수 없었지만 누군가가 더 자세한 내용을 알고있을 수도 있습니다!
UINavigationBar
iOS 11 용 API에 대한 유일한 변경 사항 은 prefersLargetitles
다음과 같습니다. 여기에서 확인
한 번의 작은 변경으로 자신의 앱에이를 수행 할 수 있습니다. IB의 탐색 모음에 대해 "큰 제목 선호"를 선택하거나 다음을 사용하여 코드에서 수행하려는 경우
navigationController?.navigationBar.prefersLargeTitles = true
편집하다
큰 제목의 텍스트 속성을 변경해야하는 경우에 새 largeTitleTextAttributes
속성 을 사용해야합니다 UINavigationBar
.
UINavigationBar.appearance().largeTitleTextAttributes = [
NSForegroundColorAttributeName: UIColor.white
]
Swift 4.2 업데이트 :
로가 NSForegroundColorAttributeName
로 이름이 바뀌 었습니다 NSAttributedString.Key.foregroundColor
, 사용 :
UINavigationBar.appearance().largeTitleTextAttributes = [
NSAttributedString.Key.foregroundColor: UIColor.black
]
UINavigationBar
이 prefersLargeTitles: Bool
속성을. 여기 문서 .
class UINavigationBar {
var prefersLargeTitles: Bool
}
UINavigationItem
이 largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode
속성을. 여기 문서 .
class UINavigationItem {
var largeTitleDisplayMode: LargeTitleDisplayMode
}
둘 다 Interface Builder에서 수정할 수 있습니다.
이 동작을 켜려면로 설정 navigationController.navigationBar.prefersLargeTitles
하십시오 true
. 그런 다음을 설정하여 탐색 컨트롤러 스택의 각 개별보기 컨트롤러를 제어 할 수 있습니다 navigationItem.largeTitleDisplayMode
.
Apple의 일반적인 디자인 지침은 큰 제목을 모든 곳에서 사용해서는 안된다는 것입니다 (예 : Clock 앱에서는이를 사용하지 않음). 일반적으로 탐색 컨트롤러의 첫 번째 수준에서만 큰 제목을 사용하는 것이 좋습니다. 그러나 이는 일반적인 지침 일뿐입니다.
큰 제목은 Cocoa Touch의 새로운 기능 비디오 (7:37) 에 소개되어 있습니다.
if #available(iOS 11.0, *) {
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.largeTitleDisplayMode = .always
} else {
// Fallback on earlier versions
}
베타 1에는 수동으로 위로 스크롤 할 때만 큰 제목이 표시되는 버그가 있습니다.
Navigation Bar 속성 검사기에서 "Prefers Large Titles"를 확인하십시오.
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
navigationController?.navigationBar.topItem?.title = "Hello"
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
let attributes = [
NSAttributedStringKey.foregroundColor : UIColor.red,
]
navigationController?.navigationBar.largeTitleTextAttributes = attributes
} else {
// Fallback on earlier versions
}
iOS 11부터 큰 타이틀을 사용할 수 있으므로 iOS 버전도 확인해야합니다.
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
}
참조 URL : https://stackoverflow.com/questions/44409173/use-the-increased-navigation-bar-title-in-ios-11
'programing' 카테고리의 다른 글
왼쪽 드로어 블과 EditText의 텍스트 사이의 간격 (0) | 2021.01.17 |
---|---|
React-Native는 대문자가 아닌 첫 글자를 쓸 수 없습니다. (0) | 2021.01.17 |
사용할 항목 : var 또는 개체 이름 유형? (0) | 2021.01.17 |
두 개 이상의 PDF 결합 (0) | 2021.01.17 |
트랜잭션 내에서 "GO"사용 (0) | 2021.01.17 |