각 UICollectionViewCell에 하위보기로 UIButton이있는 UICollectionView가 있습니다. UIButtons는 탭에 아무런 문제가 없지만 (타겟이 실행되면) 아무런 문제가 없지만 버튼 자체는 선택된 상태로 바뀌지 않습니다 (버튼의 모양과 느낌이 변경되지 않음). UICollectionViewCell이 버튼에 터치 이벤트를 제대로 전달하지 못하기 때문에 직감이 있었지만 확실하지 않습니다. 그렇다면이 시나리오에서 버튼의 상태가 올바르게 변경되도록 설정하려면 어떻게해야합니까? 내가 대안을 제안 할 수있는 경우UICollectionViewCell의 UIButton 하위 뷰가 제어 상태를 변경하지 않습니다.
는답변
가 UIScrollview
(따라서 UICollectionView
도)가 YES로 설정되어 기본적으로 delaysContentTouches
라는 속성이 있습니다, NO로 변경하고 그것이하도록되어처럼 버튼을 강조한다.
의 UICollectionView라는 멋진 대리자 메서드를 가지고 해당 셀에 클릭을 처리 할 수
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { }
... 당신은 이미지를 보는 것처럼 발생하는 특정 이벤트를 찾고 있다면 단추의 상태로 변경하면 하드 코딩 할 수 있습니다 ... 버튼을 누르면 한 가지 작업을 수행하고 다른 작업은 버튼을 놓을 때 ....
설명서에 따라
UIControlStateSe 선택됨 컨트롤의 선택된 상태입니다. 많은 컨트롤에서이 상태는 동작이나 모양에 영향을 미치지 않습니다. 그러나 다른 하위 클래스 (예 : UISegmentedControl 클래스)는 선택한 상태에 따라 모양이 다를 수 있습니다. 선택한 속성을 통해이 값을 검색하고 설정할 수 있습니다. 있는 UIButton "선택한 국가"에 대한 laymens 측면에서
..이 버튼을 클릭했을 때 어두워 가정하고이 그렇게되어 있지 않은 경우
은, 당신은 그렇게 할 수 있습니다 아무것도 ...하지 않습니다 난 당신이 뭘 하려는지 정확히 모르겠어요 프로그래밍 경우,하지만 ...
디밍 기능이 강조된 상태
UIControlStateHighlighted 컨트롤의 강조 상태에있다. 컨트롤은 추적 중에 터치가 시작되거나 종료 될 때 및 터치 업 이벤트가있을 때이 상태로 들어갑니다. 강조 표시된 특성을 통해이 값을 검색하고 설정할 수 있습니다. laymens 측면에서
, 당신은 버튼을 사용하면 "functionToCall가 호출 될이
[button addTarget:self action:@selector(functionToCall:) forControlEvents:UIControlEventAllTouchEvents];
NSLog(@"Selected: %i", button.selected);
NSLog(@"Highlighted: %i", button.highlighted);
NSLog(@"Normal State or not: %i", button.state);
처럼 뭔가를 할 수 제대로 상태를 변경하는 경우가
을 강조 년대 버튼을 볼 터치하면 모든 종류의 터치도 버튼에 발생하고 그 기능을 사용하면 콘솔에 다른 UIControlState 값을 인쇄하는 3 개의 NSLog를 가질 수 있습니다.이 경우 버튼이 제대로 작동하고 UIViewCollection 오류 일 수 있음을 보여줍니다 UICollectionView ... 그러면 프로그래밍 방식으로 단추를 흐리게 처리해야합니다. 3희망이 도움이됩니다.
단추를 프로그래밍 방식으로 강조 표시된 상태로 설정하려고 시도했지만 여전히 작동하지 않았습니다. –
- 1. UICollectionViewCell의 하위 클래스가 표시되지 않습니다.
- 2. ObjectListview 하위 항목 확인란 상태를 변경하지 않습니다
- 3. onCallStateChanged가 상태를 변경하지 않습니다.
- 4. 사용자 정의 UIButton 클래스의 하위 뷰가 클릭을 트리거하지 않습니다.
- 5. 뷰가 다시로드 될 때 UICollectionViewCell의 selectedBackgroundView 설정
- 6. uiscrollview의 하위 뷰가 스크롤되지 않습니다.
- 7. uiview 하위 뷰가 제거되지 않습니다
- 8. UIButton 상태를 저장하고 NSUserDefaults로로드
- 9. 편집 모드의 UITableView - '편집'버튼이 상태를 변경하지 않습니다.
- 10. ASP.Net 라디오 버튼은 상태를 변경하지 않습니다
- 11. XSendEvent가 수정 자 키 상태를 변경하지 않습니다.
- 12. UICollectionViewCell의 버튼이 작동하지 않습니다.
- 13. UIButton 상태를 프로그래밍 방식으로 변경하십시오.
- 14. GSRadioButtonSetController를 사용한 라디오 버튼 구현이 색상을 참조하여 상태를 변경하지 않습니다.
- 15. UICollectionViewCell의 크기로 UIButton을 설정하십시오.
- 16. sendSubviewToBack 및 insertSubview : belowSubview 문제 : 하위 뷰가 작동하지 않습니다.
- 17. 하위 뷰에 UIButton 추가
- 18. UICegment 제어 작업을 수행하는 UIButton
- 19. android - RadioButton의 상태를 제어
- 20. 제스처 인식기의 UIButton 하위 뷰
- 21. componentDidMount의 setState가 상태를 변경하지 않음
- 22. 하위 클래스로 UIButton 동작 변경
- 23. UILabel의 하위 뷰로 UIButton
- 24. 하위 뷰가 IB
- 25. UIWindow에 하위 뷰가 없습니다.
- 26. UINavigationBar에 하위 뷰로 추가하면 UISearchBar에 하위 뷰가 추가되지 않습니다.
- 27. 뒷면에 음 성 중첩 된 상태가 상태를 변경하지 않습니다.
- 28. UICollectionViewCell의 UILabel
- 29. UIButton의 하위 클래스에 UIButton 만들기
- 30. Android - 프로그래밍 방식으로 스위치 상태를 변경하지 않고 스위치 상태를 변경하십시오.
아름다운! 완벽하게 일했습니다.궁금한 점이 있다면 해당 속성에 대한 관련 문서는 다음과 같습니다.'스크롤 뷰가 터치 다운 제스처 처리를 지연하는지 여부를 결정하는 부울 값입니다. 이 속성의 값이 YES이면 스크롤보기가 의도인지 여부를 확인할 수있을 때까지 스크롤보기가 터치 다운 제스처를 처리하는 것을 지연합니다. 값이 NO이면 스크롤 뷰는 즉시 touchesShouldBegin : withEvent : inContentView :를 호출합니다. 기본값은 YES입니다 .' –