반응형
iOS 11에서 스크롤하지 않고 탐색 막대에 검색 막대 표시
navigationItem.searchControlleriOS 11의 UITableViewController 속성에 UISearchController를 연결하고 있습니다 . 이것은 잘 작동합니다. 멋진 iOS 11 스타일의 검색 창을 사용할 수 있습니다.
그러나 시작시 검색 표시 줄을 표시하고 싶습니다. 기본적으로 사용자는 검색 창을 보려면 테이블보기에서 위로 스크롤해야합니다. 이것이 어떻게 가능한지 아는 사람이 있습니까?
왼쪽 : 출시 후 기본 상황. 오른쪽 : 검색 표시 줄이 표시됩니다 (위로 스크롤하여). 오른쪽 스크린 샷과 같이 시작 후 검색 표시 줄을 표시하고 싶습니다.
hidesSearchBarWhenScrolling내 탐색 항목 의 속성 을 false 로 설정하여 검색 창을 표시 할 수 있음을 이미 발견했습니다 . 그러나 이로 인해 아래로 스크롤해도 검색 표시 줄이 항상 표시됩니다.
다음은 스크롤 막대를 처음에 표시 한 다음 스크롤 할 때 숨길 수 있도록합니다.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if #available(iOS 11.0, *) {
navigationItem.hidesSearchBarWhenScrolling = false
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if #available(iOS 11.0, *) {
navigationItem.hidesSearchBarWhenScrolling = true
}
}
를 사용하여 isActive내가 원하는 작업을 수행하지 않았으므로 스크롤 막대가 활성화되고 (취소 버튼 표시 등) 내가 원하는 것은 표시되는 것뿐입니다.
에 searchController를 추가 한 후 속성 isActive을로 설정할 수 있습니다 .truenavigationItem
다음과 같이 :
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
searchController.isActive = true
}
반응형
'IT TIP' 카테고리의 다른 글
| 교리 2 + 부호없는 값 (0) | 2020.11.19 |
|---|---|
| Bash 스크립트에서 키-값 쌍을 만드는 방법이 있습니까? (0) | 2020.11.19 |
| Linux에서 memcpy 성능 저하 (0) | 2020.11.05 |
| 요청 된 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다. AngularJS (0) | 2020.11.05 |
| Visual Studio Code의 사용자 및 시스템 설치 관리자의 차이점 (0) | 2020.11.05 |

