: 요청에 따라
override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) {
if presentationStyle == .expanded {
searchController.searchBar.becomeFirstResponder()
searchController.searchBar.tintColor = UIColor.white
}
}
func didDismissSearchController(_ searchController: UISearchController) {
requestPresentationStyle(.compact)
}
override func viewDidLoad() {
super.viewDidLoad()
configureSearchController()
}
func configureSearchController() {
searchController = UISearchController(searchResultsController: nil)
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search here..."
searchController.searchBar.sizeToFit()
searchController.searchBar.isTranslucent = false
searchController.searchBar.delegate = self
searchController.delegate = self
searchController.searchBar.barTintColor = addButton.backgroundColor
stackView.insertArrangedSubview(searchController.searchBar, at: 0)
//This removes the hairline
let color = addButton.backgroundColor
searchController.searchBar.layer.borderWidth = 1
searchController.searchBar.layer.borderColor = color?.cgColor
}
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
if presentationStyle == .expanded {
return true
} else {
requestPresentationStyle(.expanded)
return false
}
}
내 스토리 보드 : 여기에
내 코드입니다 . UISearchbar의 너비가 0이되는 이유는 무엇입니까?
버튼의 선행 가장자리에 대한 출력이 분명히 있지만 버튼의 너비 만 제한한다고합니다. 출력 결과에 따르면 버튼의 앞쪽 가장자리를 스택보기의 앞쪽 가장자리로 제한했습니다.
단추의 앞쪽 가장자리를 스택보기의 앞쪽 가장자리로 제한하고 단추가 검색 막대 왼쪽에 있으면 단추를 넓게 만들 수 있습니다. 그러나 검색 막대의 오른쪽에 단추가 있기 때문에 단추는 너비가 44이거나 스택보기의 선행 가장자리로 제한 될 수 있지만 둘 다 제한 될 수는 없습니다.
그래서 iOS는 너비 제약 조건을 깨고 스택보기의 선행 가장자리와 정렬되도록 버튼을 왼쪽으로 확장합니다.
그 결과가 아니어도됩니다. Apple이 버튼을 드래그 한 위치를 무시하고 제약 조건을 따르도록 Xcode를 프로그래밍 할 수 있다고 상상해보십시오. 즉, 버튼을 이동 시켜서 선행 가장자리와 스택보기의 선행 가장자리가 위로오고 버튼의 너비가 44가되도록하십시오. 버튼 오른쪽으로 검색 막대를 이동합니다. 그러나 분명히 애플은 수평 스택보기에서 항목의 순서를 더 강하게 우선 순위를 부여했습니다. 즉, 검색 막대의 오른쪽에 단추를 놓았 기 때문에, 즉 그것이 남아있는 곳입니다.
로그 전체를 게시해야합니다 (시스템에서 어떤 제약 조건이 깨 졌는지 알려주는 부분). 또한 ** 로그를 텍스트 ** (코드)로 게시하십시오. – paulvs
* 전체 스택보기가 화면 상단과 측면에 고정되어 있습니다. * 좋아요.하지만 StackView를 완전히 제한하지는 않습니다. 바닥은 어때? – 7stud
또한 출력 이미지를 게시하는 이유는 무엇입니까? Mac의 복사/붙여 넣기 기능을 사용할 수 없습니까? 반면 스토리 보드의 목차 이미지를 보는 것이 좋을 것입니다. – 7stud