UIViewにビューの外側をタッチするだけでUIPickerViewを終了しようとしています。私はthis oneのような他の投稿を見てきましたが、キーボードの外を押すときにNotificationCenterを使用してUIKeyboardを閉じる方法について説明しています。私は、UIPickerViewで同じことをする同様の方法があるかどうかを知りたいと思います。今はUIActionSheetの中に完了ボタンを使用していますが、私はユーザーにビューの外をクリックするという選択肢を与えたいと思っています。 また、同じ方法で動作する「見えないボタン」を使用するというアイデアも気づいています。より洗練されたソリューションがあるかどうかを探していました。
ありがとうございます。外部に触れている間にUIViewでUIPickerViewを終了したい
1
A
答えて
2
これまでカスタムUIViewを作成し、UIViewクラスのpointInsideメソッドをオーバーライドしていました。これは、UIViewがタッチ通知を取得するたびに発生するメソッドです。それが起こると、タッチが視界範囲の内側か外側かを知ることができます。
たとえば、カスタムUIViewのは、次のようになります。
CustomTouchUIView.h
#import
@protocol CustomTouchUIViewDelegate
- (void) uiViewTouched:(BOOL)wasInside;
@end
@interface CustomTouchUIView : UIView
// Properties
@property (nonatomic, assign) id delegate;
@end
私はオンラインのダウンロード例/チュートリアルを持って
#import "TOTouchUIView.h"
@implementation CustomTouchUIView
#pragma mark - Synthesize
@synthesize delegate;
#pragma mark - Touches
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
if(point.x > 0 && point.x < self.frame.size.width && point.y > 0 && point.y < self.frame.size.height)
{
[delegate uiViewTouched:YES ];
return YES;
}
[delegate uiViewTouched:NO ];
return NO;
}
@end
CustomTouchUIView.m here
+0
これはよさそうだ。私は試してみる必要があります。ありがとう – Vince613
関連する問題
- 1. UIToolBarの完了ボタンを使用してUIPickerViewを終了する
- 2. キャッチされていない例外によるアプリケーションの終了
- 3. キャッチされていない例外 '_HKObjectValidationFailureException'のためにアプリケーションを終了する
- 4. サブビューとUIViewを終了しようとしています
- 5. iOS - UIScrollview内の一部のUIViewが接触しない
- 6. リンクを押している間にセッションを終了する
- 7. バックグラウンドをタップしてUIPickerViewを終了する
- 8. XCodeで「キャッチされていない例外を終了」のデバッグ
- 9. スクロールが終了してもピッカービューが既に解放されていると、UIPickerViewがクラッシュする
- 10. uiviewに触れるときに新しいビューを開くにはどうすればいいですか?
- 11. ActionSheetを無効にすると、ユーザーがポップオーバーの外に触れるとipadで終了する
- 12. タスクがプロセス終了前に終了していない
- 13. 別のスクリプトを終了して外部スクリプトを実行する
- 14. UIView beginAnimationsが終了した後でアクションを実行する
- 15. ProcessException:org.gradle.process.internal.ExecException:ゼロ以外の終了値1で終了しました。
- 16. NSException(lldb)タイプのキャッチされていない例外で終了
- 17. 外部アプリケーションを実行して終了する
- 18. textfairyプロジェクトをコンパイルしているときに "ndk-buildがゼロ以外の終了値2で終了する"
- 19. 実行時間が終了していない間にジャンプする
- 20. タッチをブロックする方法を開始し、終了方法に触れていますか?
- 21. アプリケーションが終了しました - キャッチされない例外 'NSGenericException'、
- 22. C#プログラムが終了した後にコンソールが終了しない
- 23. アプリが終了したときにアプリが終了しない
- 24. UIViewアニメーションが途中で終了する
- 25. UIViewのアニメーションの終了
- 26. ラベルが非表示になる前にUIViewのアニメーションが終了しない
- 27. java.exeを修正するには、ゼロ以外の終了値2で終了してください
- 28. ユーザーが触れている間にムービークリップを移動するAS3
- 29. スカラ - 外部プロセスが終了したときにコールバックを取得する
- 30. UIPickerViewはスクロールアニメーションが終了するまでスクロールします
この質問にはいくつかの回答があります。[こちら](http://stackoverflow.com/questions/6782639/closing-a-uipicker-in-an-iphone-app/6782899#6782899) – progrmr
カスタムボタンは最もエレガントではありませんが、別の解決策を見つけようとする貴重な時間を無駄にする代わりに行うのが最も簡単です。ユーザーエクスペリエンスは実際に重要なものであり、差異に気付かないでしょう。 –