このページの本文へ

車とスマホがつながるSDLの世界 第8回

SDLのライブラリを組み込み、車載機のユーザーインターフェースを実現してみよう!

SDL対応アプリ開発環境の構築その4~白紙のiOSプロジェクトから作るSDLアプリ

2019年01月13日 11時00分更新

文● 柴田文彦 編集●アスキー編集部

提供: トヨタ自動車株式会社

  • この記事をはてなブックマークに追加
  • 本文印刷

アラートを表示するソフトボタンを設定する

 SDLのソフトボタンでは、複数のステートを切り替える必要のないボタンでも、必ず1つはステートを設定する必要がある。そして、そのボタンの画像は、その1つしかないステートに設定する。

 2つめのボタンでは、ボタン操作に対する応答として、アラートを表示する。アラートは、SDLAlertクラスのオブジェクトを作成し、必要なプロパティを設定してからsdlManagerオブジェクトのsend()メソッドを使って車載機に転送すれば表示される。アラートには3行までのテキストを表示できるので、ここでも3行のテキストを設定している。

 またアラートには、それをクリックすることでアラートを閉じたりするボタンを配置することもできるが、ここではボタンは使わない。その代わりタイマーを使って自動的にアラートを閉じることにした。そのタイマーもミリ秒単位で、アラートオブジェクトのプロパティとして設定できる。ここでは5000ミリ秒、つまり5秒で自動的に閉じるように設定している。

 以上の2つめのボタンを作成するコードをまとめて確認しよう。

let sbState21 = SDLSoftButtonState(stateName: "State21", text: "BS21", artwork: artwork4)
let sbObj2 = SDLSoftButtonObject(name: "Button2", states: [sbState21], initialStateName: "State21") { (buttonPress, buttonEvent) in
    guard buttonPress != nil else { return }
    print("Button 2 Pressed!")
    let alert = SDLAlert(alertText1: "Cancel Button Pushed", alertText2: "Wait for 5 Sec to dismiss", alertText3: "...")
    alert.duration = 5000 as NSNumber & SDLInt
    self.sdlManager.send(request: alert) { (request, response, error) in
        if response?.resultCode == .success {
        }
    }
}

 このコードは、1つめのボタンを作成するコードと、スクリーンマネージャにソフトボタンを設定するコードの間に記述する。そして、そのスクリーンマネージャに対するソフトボタンの設定に、今作った2つめのボタンオブジェクトも加えて、以下のように修正する。

sdlManager.screenManager.softButtonObjects = [sbObj1, sbObj2]

 このプログラムを動かすと、2つのボタンが左右に並んで表示されるようになった(図17)。

図17:このテンプレートで表示可能な2つのボタンは、アプリ画面の底辺に沿って、左右に2つ並んで配置される

 新たに右側に配置された「×」ボタンをクリックすると、アラートが表示される(図18)。

図18:右側に配置された2つめのボタンをクリックすると、車載機のアプリ画面上にアラートが表示される。このアラートは自動的に閉じられるように設定してある。閉じるためのボタンは設けていない

 このアラートは、5秒後に自動的に閉じられるので、ユーザーはアラートに対して操作する必要はない。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,249
2
【Amazon.co.jp限定】Meta Quest 3S(128GB)購入で『Gorilla Tag』ゲームを無料プレゼント|VRヘッドセット|メモリが33%増加 | 2倍のグラフィック処理性能 |ワイヤレスのVR体験
【Amazon.co.jp限定】Meta Quest 3S(128GB)購入で『Gorilla Tag』ゲームを無料プレゼント|VRヘッドセット|メモリが33%増加 | 2倍のグラフィック処理性能 |ワイヤレスのVR体験
¥50,490
3
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,290
4
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
¥20,800
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥640
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
¥23,980
8
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
9
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ブラック, 1m)
¥1,680
10
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン