私は、各UICollectionViewCellにサブビューとしてUIButtonがあるUICollectionViewを持っています。 UIButtonsは問題なくタップに応答しますが、ターゲットは起動しますが、ボタン自体は選択された状態に変わりません(ボタンのルック・アンド・フィールに変更はありません)。 UICollectionViewCellがボタンにタッチイベントを正しく転送していないために感心していますが、わかりません。そうであっても、このシナリオでボタンの状態が適切に変わるように設定するにはどうすればよいですか?UICollectionViewCellのUIButtonサブビューが制御状態を変更しない
答えて
はUIScrollview
(したがってUICollectionView
すぎて)それはYESに設定されているデフォルトでdelaysContentTouches
というプロパティがあり、NOにこれを変更し、それをすることになっているようなあなたのボタンがハイライトすべきです。
私は選択肢を提案することができる場合は、UICollectionViewは、そのセルにクリックを扱うことができる...あなたが画像を見てのように発生する特定のイベントを探している場合
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { }
と呼ばれる素晴らしいデリゲートメソッドを持っていますボタンの状態に変更すると、そのボタンを押したときにボタンを押すと別のことをするボタンが放されます。
も同様に
UIControlStateSe受諾された コントロールの選択状態。多くのコントロールでは、この状態は動作や外観に影響しません。しかし、他のサブクラス(UISegmentedControlクラスなど)は、選択した状態によって異なる外観を持つことがあります。選択したプロパティを使用してこの値を取得および設定できます。 laymens用語で
は... UIButtonのために「選択された状態では、」何もしない...
ボタンがクリックされた場合の暗くすると仮定され、あなたがそれを行う必要があり、ことやっていない場合私はあなたがやろうとしているかを正確にわからないプログラムであれば、しかし...
調光機能が強調表示状態
UIControlStateHighlighted制御の 強調表示された状態でです。コントロールは、トラッキング中にタッチが出入りするとき、およびタッチアップイベントがあるときにこの状態に入る。強調表示されたプロパティでこの値を取得および設定できます。 laymens用語で
、あなたはボタンが適切に状態を変更された場合は、この
[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);
「functionToCallは、任意のタイプと呼ばれるような何かを行うことができます参照してください
を強調していますボタンをタッチtouchもボタンに起こります。その関数では、3つのNSLogをコンソールに表示し、異なるUIControlState値を出力することができます。これは、ボタンが正しく動作していることを示し、UIViewCollectionエラーであることを示しますUICollectionView ...ボタンをプログラムで微調整する必要があります:3
願っています!
プログラムで強調表示された状態にボタンを設定しようとしましたが、それでも機能しませんでした。 –
- 1. deleteItemsAtIndexPathsのUICollectionViewCellの選択状態クリアUIButton
- 2. カスタムUIButtonの状態を変更する
- 3. UIButtonの遅延状態の変更
- 4. 状態と制御可能なゲームオブジェクト
- 5. ポップアップウィンドウの状態を制御する
- 6. の制御次のボタンの状態は
- 7. ReactJS:状態の配列 - 制御されない入力
- 8. オリエンテーションの制御はサブビュー内から変更されます
- 9. SwiftでUIButtonの状態をプログラムで変更する方法
- 10. Save UIButtonレルムスウィフト3の状態を通知センターで変更
- 11. 保存UIButton状態
- 12. UIButtonの状態が変更されたときにアクションを実行します。
- 13. ネットワーク状態を確認し、プログラム内のPPPを制御する
- 14. UICollectionViewCell to UIButton Focus
- 15. HTTP要求を使用したBokehプロット状態の制御
- 16. 孫のコンポーネントが祖父母の状態を変更しない
- 17. IOS、UIView、サブビューの隠し状態の変化を検出する
- 18. UIButton - ハイライト状態の丸い角
- 19. 複数のUICollectionViewCellのUIButtonが機能しない
- 20. 状態を更新していない状態を更新しています
- 21. トグルボタンの状態が変化しない
- 22. サブビュー変更イベントが起動しない
- 23. react reduxを使用して状態が変更されない
- 24. React TransitionGroupが状態変更時に子をアンマウントしない
- 25. 状態の変更時に要素が更新されない
- 26. react classNameが状態の変更時に更新されない
- 27. Axon:Eventsourced集計なし状態変更イベント
- 28. ジョブの状態をユーザーに知らせるための制御
- 29. 状態変更コード
- 30. 変更状態(JS)
美しい!完璧に働いた。不思議なことに、そのプロパティに関する関連ドキュメントは次のとおりです。 'スクロールビューがタッチダウンジェスチャーの処理を遅らせるかどうかを決定するブール値。 このプロパティの値がYESの場合、スクロールビューは、スクロールが意図かどうかを判断できるまで、タッチダウンジェスチャの処理を遅らせます。値がNOの場合、スクロールビューは直ちにtouchesShouldBegin:withEvent:inContentView:を呼び出します。デフォルト値はYESです.' –