HMSegmentedControl에서 반복되는 세그먼트 선택을 수행하려고합니다. 수단 세그먼트가 이미 선택되어있는 경우,를 누르거나 다시 선택하면 세그먼트 선택에 따라 다음 기능을 수행/다시로드해야합니다. HMSegmentedControl.swift
파일에서HMSegmentedControl에서 선택한 세그먼트를 반복하거나 다시 선택하는 방법은 무엇입니까?
3
A
답변
0
, 당신은 탭 이벤트 것이다 occures을 선택를 누릅니다 때마다 그냥 true로 indexChanged
부울 변수를 변경하거나 다음의 경우 조건에서 indexChanged
변수를 제거 할 수있는 tapped(segmentButton:)
기능이있다. 여기에 실제 기능 코드 :
스위프트
func tapped(segmentButton sender: UIButton) {
let newIndex = sender.tag
//let indexChanged: Bool = newIndex != selectedSegmentIndex
let indexChanged: Bool = true
selectedSegmentIndex = newIndex
if let indexChangedHandler = indexChangedHandler, indexChanged == true {
indexChangedHandler(selectedSegmentIndex)
}
setSelectedSegmentIndex(newIndex, animated: true)
}
또는
func tapped(segmentButton sender: UIButton) {
let newIndex = sender.tag
selectedSegmentIndex = newIndex
if let indexChangedHandler = indexChangedHandler {
indexChangedHandler(selectedSegmentIndex)
}
setSelectedSegmentIndex(newIndex, animated: true)
}
오브젝티브 C는
이 방법에segment != self.selectedSegmentIndex
조건을 제거 할 수 있습니다
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
//if (segment != self.selectedSegmentIndex && segment < sectionsCount) {
if (segment < sectionsCount) {
// Check if we have to do anything with the touch event
if (self.isTouchEnabled)
[self setSelectedSegmentIndex:segment animated:self.shouldAnimateUserSelection notify:YES];
}
참고 : 주석 처리 된 행 (1 행)은 오래된 코드이고 2 행은 새로운 코드입니다.
+0
친절한 도움을 주셔서 감사합니다 :) –
포드 또는 클래스 만 사용하고 있습니까? 신속하거나 objc? –
@JayeshThanki 방금 수업을 사용하고 있으며 목표는 C입니다. 감사합니다. –
업데이트 된 답변을 확인하십시오. –