문제

실제로 제목에는 내 질문이 포함되어 있습니다. 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
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top