uisegmentedcontrol deselect (선택된 세그먼트 중 어느 것도 만들지 않음)
-
18-09-2019 - |
문제
실제로 제목에는 내 질문이 포함되어 있습니다. uisegmentedControl이 있으며 현재 선택한 탭을 선택 해제해야합니다. 나는 시도했다 :
[menu setSelectedSegmentIndex:-1];
메뉴는 uisegmentedControl의 uboutlet이지만 예외가됩니다. 누구든지 아이디어가 있습니까? 감사합니다 Peter
해결책
나는 당신이 전화했다고 가정합니다 [myArray length]
적절한 대신 [myArray count]
코드 어딘가에. NSARRAY는 포함 된 항목 수에 대해 길이가 아닌 카운트 방법을 사용합니다.
다른 팁
이를 수행하는 올바른 방법은 다음과 같습니다.
[menu setSelectedSegmentIndex:UISegmentedControlNoSegment];
세분화 된 제어에서 순간적인 선택을 만들려고 노력하는 것 같아요. 인터페이스 빌더에서 SegmentedControl을 순간적으로 설정합니다. 또는 코드에서 할 수 있습니다.
menu.momentary = YES;
세그먼트로드 컨트롤을 설정합니다 .momentary = YES
사용자가 SegmentedControl과 상호 작용할 수있는 방식을 변경합니다. 페이지가로드 될 때 초기에 아무것도 선택하지 않으려면 사용자가 선택한 후 SEGMENTEDCONTROL이 동일하게 작동하는 경우 다음과 같은 것을 원할 것입니다.
Swift 4 솔루션:
@IBOutlet weak var segmentedControl: UISegmentedControl!
self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment
이제 인터페이스 빌더의 Xcode 6 에서이 작업을 수행 할 수 있습니다.
Deselect the 'Selected' option under segmented control behaviour in attributes inspector.
신속한 솔루션 : @IBOutlet weak var mySegmentedControl: UISegmentedControl!
그리고 mySegmentedControl.selectedSegmentIndex = -1
.
스위프트 4
@IBOutlet weak var segmentControl: UISegmentedControl! {
didSet {
segmentControl.selectedSegmentIndex = UISegmentedControl.noSegment
}
}