ビデオ: 全盲エンジニアがiOS/Android/WebUIエンジニアにダメ出しした結果 - JAC vol.2 2025
iOSユーザーエクスペリエンスを理解し、アプリとの関係を真に理解したい場合は、ジェスチャーの重要性を理解する必要があります。 UIKitには、アプリで使用できるジェスチャ認識機能が含まれています。 UIKitを使用してジェスチャ認識プログラムをメインビューに追加し、ユーザーが左にスワイプしてテストドライブビューを表示できるようにします。
ジェスチャー認識機能を追加することは、iPhoneとiPadの両方にとって簡単です。 MasterViewControlleにあります。 m、太字のコードをviewDidLoadに追加します。
<! - 1 - >- (void)viewDidLoad {[super viewDidLoad]; AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate];自己。 title = appDelegate。旅行。 destinationName; UIImageView * imageView = [[UIImageView alloc] initWithImage:[appDelegate。旅行先画像]];自己。 tableView。 backgroundView = imageView; _detailViewController =(DetailViewController *)[[self。 splitViewController。 ViewController lastObject]トップビューコントロール]; UISwipeGestureRecognizer * swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self アクション:@selector(handleSwipeGesture:)]; swipeGesture。 direction = UISwipeGestureRecognizerDirectionLeft;
UISwipeGestureRecognizerは、UIGestureRecognizerのサブクラスです。具体的なジェスチャ認識ツールクラスの抽象基本クラスです。ジェスチャーレコグナイザーは、特定のジェスチャーを認識するための苦労をしてから、指定したアクションメッセージ(指定したもの)をターゲットに送信します。
<! UITapGestureRecognizerピンチ:
-
UIPinchGestureRecognizer 回転:
-
UIRotationGestureRecognizer パン:
-
UIPanGestureRecognizer タッチ&ホールド:
-
UILongPressGestureRecognizer <! - ヒットテストされたビュー
-
(ユーザーがタッチしたと判断したビュー)にジェスチャーレコグナイザーにタッチイベントを配信する前に、ウィンドウがタッチイベントをジェスチャーレコグナイザーに配信します。 (ジェスチャレコグナイザはビューに添付され、レスポンダチェーンの一部ではないことに注意してください。) ジェスチャレコグナイザがジェスチャを認識しない場合、一般的にタッチはビューに渡されます。ジェスチャ認識プログラムがそのジェスチャを認識した場合、そのビューの残りのタッチはキャンセルされます。
UISwipeGestureRecognizerは、1つまたは複数の方向でスワイプジェスチャを探すUIGestureRecognizerの具象サブクラスです。スワイプは個別のジェスチャであるため、アクションメッセージはジェスチャごとに1回だけ送信されます。
UISsipeGestureRecognizerは、指定されたタッチ数(numberOfTouchesRequired)がスワイプとみなせるほど十分に許容方向(方向)に移動したときに、スワイプとして認識します。 UISwipeGestureRecognizer * swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action]のように、タッチ数(デフォルトは1)と方向(デフォルトは右)のUISwipe GestureRecognizerレコグナイザを設定できます。 :@selector(handleSwipeGesture:)];
ここで、スワイプジェスチャーを作成するには、selfのターゲットとhandleSwipeGesture:のアクションを使用します。これは、ジェスチャーレコグナイザがスワイプであると判断した場合、handleSwipeGesture:をMasterViewController(この場合はself)に送信します。
次に、ユーザーがテストドライブビューを表示するために左にスワイプするため、次のように、デフォルトの右から方向を左に設定します。
swipeGesture。 direction = UISwipeGestureRecognizerDirectionLeft;
スワイプイン効果プログラムを処理するには、スワイプが発生したときに出てくる応答をMasterViewControllerに追加します。 m。ここでやることは、まず
バンドル
のストーリーボードを見つけることです.iOS(およびOS X)では、バンドルは単一のファイルであるように見えるディレクトリで、実行可能コード、画像と音声、ペン先(ストーリーボード)ファイルとして。
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@ "Main_iPad" バンドル:nil];
コードはTestDriveControllerを作成します。これは、ストーリーボードが(テストロジックを使用して)テストドライブボタンをタップしたときと同じことです。
UIViewController * viewController = [storyboard instantiateViewControllerWithIdentifier:@ "TestDrive"]; ここでその識別子が必要です。これは、ストーリーボードで構成したView Controllerを見つける唯一の方法です。 次に、Navigation ControllerにView Controllerをスタックにプッシュするように指示します(この方法でもナビゲーションバーが更新されます)。 (アニメートされたパラメータがYESの場合、ビューはアニメーション化され、それ以外の位置に配置されるとビューは単純に表示されます)。[999] [self navigationController] pushViewController:viewController animated:YES];
これは、ストーリーボードによって生成されたセグロジックであなたのために行われたことです。
あなたはスワイプジェスチャーをマスタービューコントローラーにインストールしました。テストドライブビューでは、戻る(ニューヨーク市)ボタンを使用して戻ることができます。インタフェースを設計する際に、一貫性と対称性が求められる優れた機能です。ビューにスワイプすると、おそらくビューからスワイプする必要があります。これは、強力で直感的で使いやすいインターフェイスを構築する方法です。
