2011-03-01 3 views
0

할당 된 함수를 호출하지 않고 강조 표시된 세그먼트를 설정하고 싶습니다.UISegmentedControl의 강조 설정

내가는 segmentedControl 잘 작동

segmentedControlLeft.selectedSegmentIndex = 1; 

를 호출하지만, 그것은뿐만 아니라 내 부착 된 함수를 호출하고 더 낫다고 다시 호출 피하기 위해 같은 어떤 UIControlEventValueChanged를 생성합니다.

이 가능합니까?

감사합니다.

답변

1

대상을 제거하고 선택한 세그먼트를 변경 한 다음 대상을 다시 추가하십시오. 또는 코드로 수정 한 플래그를 붙이려면 변수를 사용하고이 플래그가 설정된 경우 함수에서이 호출을 무시하고 플래그를 다시 설정하십시오.

2

question

이것은 알려진 문제를 참조하십시오. ID # 8372405

setSelectedSegmentIndex :를 사용하기 전에 사용자가 설정 한 BOOL을 사용해야하며 선택한 색인을 설정 한 후에 설정을 해제해야합니다. 당신의 행동에서 bool을 확인하십시오.

이것은 내가 한 행동입니다.

1

나는 지금처럼했고, 그것은

[segmentedControlLeft removeTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged]; 
segmentedControlLeft.selectedSegmentIndex = value; 
[segmentedControlLeft addTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged]; 
를 작동
관련 문제