내보기 컨트롤러는 3 개의 버튼이있는 스택보기를 가지고 있습니다. 하나는 고정 너비로 고정되고 stackview는 다른 두 버튼이 대칭이되도록 비례 적으로 채워집니다.Swift 3 - 사용자 정의 UIButton 반지름이 구속 조건을 삭제합니까?
그러나 단추의 모서리 반경을 사용자 지정하고 응용 프로그램이 단추를로드하는 즉시 원하지 않는 방식으로 크기가 조정됩니다.
Ive는 수많은 스택 뷰 배포 및 채우기 설정을 시도했습니다. stackview에서 버튼을 제거하고 정상적인 UIView에서 가장자리에 제약을 가하는 것을 시도하지만, 제약 조건이 삭제되면 확실하지는 않지만 불확실합니다.
시각적으로 버튼은 화면의 오른쪽 하단 모서리에 가장자리와 버튼 사이에 0 칸씩 배치됩니다. 현재는 여러 장치에서 보이는 큰 제약에 제약이없는 방식으로 배치되어 더 큰 디스플레이에 공간을두고 시뮬레이터 내의 작은 디스플레이에서 화면을 종료합니다.
원하는 모서리를 둥글게하기위한 노력 코딩 시도 :
@IBOutlet fileprivate weak var button: UIButton! { didSet {
button.round(corners: [.topRight, .bottomLeft], radius: 50 , borderColor: UIColor.blue, borderWidth: 5.0)
button.setNeedsUpdateConstraints()
button.setNeedsLayout()
} }
override func viewDidLayoutSubviews() {
button.layoutIfNeeded()
}
ovverride func updateViewContraints() {
button.updateConstraintsIfNeeded()
super.updateViewConstraints()
}
여기에서 찾을 수 있습니다 사용되는 UIView의 확장 : https://stackoverflow.com/a/35621736/5434541
수 있습니다 어떤 솔루션이 제대로 버튼의 모서리 반경을 조정하기를 ' 제약 조건으로 버튼을 업데이트해야합니다.
두 방법 모두 동일한 문제가 발생합니까? – Ben
@ 벤 예, 나는 시도한 모든 방법으로 같은 행동을 보입니다. 현재 시뮬레이터에서 발생하고 있으며 iPhone 5에서 테스트 해 보았습니다. 원하는대로 작동하는 것처럼 보이지만 예상치 못한 동작으로 인해 다른 기기에서 발생할 수 있는지를 알지 못하는 걱정이됩니다. 또한 이러한 메소드를 구현하자마자 애플리케이션은 현재 많은 어려움을 겪고 있습니다! 특정 질문에 관련이 없다는 것을 알고 있지만 viewDidlayout 하위 뷰를 다른 스레드에서 실행해야하는지 궁금합니다. 감사! – lifewithelliott