自分専用ブラウザ02 (暫定完成)

前回作成したブラウザアプリは、

  • 初期ページを表示(変更不可能)
  • 戻る、進む、中止、更新ボタンでの制御しかできない
  • 戻る、進む、中止、更新ボタンが残りっぱなしで見栄えが悪い
  • 任意の他のページに移動できない

という欠点がありました。

そこで、ここを参照しながら改良を加えます。

ゴール:使い勝手の向上

・普段はフルスクリーンで利用する。
ツールバーボタン(戻る、進む等)は表示/非表示を切り替え可能にする。
・URLを入力して、該当ページを表示する。
・簡単ブックマークボタンを設置する(変更不可)

手順

  • 前回のプロジェクトを開く
  • パーツを配置
    • もとまかさんのページでは「UIViewを配置」となっていた部分は、Xcode4.4では「Viewを配置」と読み替える
    • ポイント
      • WebViewの上にViewを配置し、その上にURL入力用TextField等を貼り付ける。
    • ポイント
      • TextFieldのattributes inspectorから、キーボードの設定が可能(改行ではなくGoにする、URL入力に適したキーボードに変更する、など)
  • AssistantEditorでヘッダファイルと結びつける
  • コーディング
    • 左端に配置したボタンを押すと更新ボタンなどを不可視化
      • ポイント
        • 「戻る」ボタンの表示状態によって、すべてのボタンの表示状態を制御する。いちいちボタンを押したときに、「更新ボタンが不可視だったら可視化」「戻るボタンが不可視だったら・・・」という条件分けを行わない。
      • ポイント
        • URL入力用TextFieldについて。TextFieldを張り付けているViewを可視化するときに、同時に下記コードを記述する。これにより、可視化すると同時にTextFieldがアクティブになり、入力用のキーボードを開くことができる。
[urlfield becomeFirstResponder];
      • もとまかさんの指摘している注意点は以下。
        • ボタン表示切替用のボタンは、hiddenではなくTypeを「Custom」にして透明にする。
        • UIView上のUITextFieldやUIButtonはhiddenにチェックを入れない。

問題点

TextFieldにURLを入力し、Goを押してもジャンプしない。
別の場所をタッチしてキーボードを消すと、編集終了とみなされてようやくジャンプしている。
Editing Did Endというアクションと結びつけているのは正しいはずなのですが。。。
とりあえず保留。