2014年11月24日 星期一

WebViewオブジェクトを使ってみよう - 004


おはようございます、ひろしです。
今回はプロトコルについて話したいと思います。

WebViewオブジェクトを使ってみよう - 001
WebViewオブジェクトを使ってみよう - 002
WebViewオブジェクトを使ってみよう - 003

いままでやっていたことは、WEBVIEWとかBAR BUTTONとかを色々設定し、プログラミングしてウェブを開くことができます。ですが、プログラミングはどうやって以下のことがわかるでしょうか?

  1. このウェブは本当にLOADINGされましたか?
  2. このウェブりんくはなんですか?
  3. このウェブはいつロード完成しましたか?
ここで、Delegateという便利な方法ががあります。Delegate1つのオブジェクトとして別のオブジェクトとコミュニケーションことができ、色々なタスクができます。

Delegateしたいなら、簡単といえばこの3つのステップがあります:
  1. カスタムクラスでDelegateのプロトコルを受けます。
  2. プロトコルのMETHODを実装します。
  3. DelegateのOutletとあなたのDelegateオブジェクトを繋がります。
ステップ1:
まずなんのオブジェクトはどんなDelegateするのは決めます。
ここで、カスタムクラスで、UIWebViewDelegateを使いたいと思います。
ステップ2:
XCODEー>HELPー>Documentation and API Referenceで、UIWebViewDelegateはどんなMETHODがあるのか見てみましょう。

ステップ3:
Documentationをみて、下の4つのMETHODが見つかるはずです。
  • - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request  navigationType:(UIWebViewNavigationType)navigationType; 
    • ユーザーがリンクの上でTAPする時、Delegateへメーセージを送ります。
  • - (void)webViewDidStartLoad:(UIWebView *)webView; 
    • もしウェブはロード始まりの時Delegateへメーセージを送ります。
  • - (void)webViewDidFinishLoad:(UIWebView *)webView;
    • もしウェブはロード完成したのDelegateへメーセージを送ります。
  • - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 
    • もしウェブはロードできない時Delegateへメーセージを送ります。
今度は2番めから4番目までのMETHODを利用します。

ステップ4:
カスタムクラスの.m(Implementation)フェイルで以下のコートを書きましょう。
  • - (void)webViewDidStartLoad:(UIWebView *)webView; 
  • - (void)webViewDidFinishLoad:(UIWebView *)webView;
  • - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 

ステップ5:
DelegateしたWebViewとViewControllerを繋がりましょう。
WEBVIEWを選択し、CONTROL+引いてViewControllerを繋がりましょう。
黒メニューが出て、Delegateを選択してください。

ステップ6:
最後はこんな感じですね。

ステップ7:
テストしてみましょう!

ウェブがロードできない時は…
  • エラーメッセージができてきます。
  • Shorten Buttonが押せません。
ウェブがロード完成した時は…
  • リンクのところはちゃんと今みているのウェブのリンクが表示されています。
  • Shorten Buttonが押せます!

今回もお疲れ様でした。
次はこのリンクを短くする方法を紹介したい思います。
じゃーね。




2014年11月20日 星期四

WebViewオブジェクトを使ってみよう - 003

こんばんわ、ひろしです。
今回はBAR BUTTON ITEMのプログラミングをやります。

前回:



ステップ1:
WEBVIEWの大きさを調整してくだい。


ステップ2:
オブジェクトライブラリでTOOLBARを選択し、先で調整してたの余白に引いてください。


ステップ3:
オブジェクトライブラリでBAR BUTTON ITEMを選択し、もっと2つのBUTTONを同じのところで引いてください。

ステップ4:
BAR Button Item1を選択し、
STYLEをPLAYに選択しでください。
EDITABLEをUNCHECKしてください。

ステップ5:
BAR Button Item2を選択し、
STYLEをPlain選択してください。
TITLEは”Tap ”Tap arrow to shorten”に入力してください。
Tintはブラックを選択してください。

ステップ6:
TITLEは"Copy”を入力してください。
ENABLEをUNCHECKしてください。

ステップ7:
.hのフィルタに以下のコードを入力してください。

ステップ8:
ViewControllerを選択し、ステップ7で設定してたの3つPROPERTYを繋がりましょう。
*shortBuutonはPLAYアイコンのBUTTONに繋がりましょう。
*shortLabelは真ん中、”TAP DOWN TO SHORTEN”に繋がりましょう。
*clipboardは”COPY"に繋がりましょう。

ステップ9:
最後はこんな状態です。

ステップ10
テストしましょう!


今回もお疲れ様でした。
つぎはプロトコルのプログラミングです。
じゃねー







2014年11月19日 星期三

WebViewオブジェクトを使ってみよう - 002


おはようございます、ひろし。

WebViewオブジェクトを使ってみよう - 001の続きです。

今回は実際にWebViewでウェブをみようと思いまして、よろしくお願いします。


ステップ1:
.hのファイルに下のコードを加えてください。



ステップ2:
その*urlField と*webViewをControllerViewに繋がりましょう。
View ControllerのところでRIGHT-CLICKして、黒いメニユーが出るはずです。
この黒いメニユーには先設定したの*urlField と*webViewあります。
となりの丸が見えますか?
*urlFieldはTextFieldのところでを引いてください。
*webViewはUIWebViewのところで引いてください。


ステップ3:
.mファイルに以下のコードを加えてください。
コードは以下の流れです:
  1. urlFieldからTEXTをゲットし、urlTextにします。
  2. IFのコードはユーザーが正しいウェブの式に入力してないかどうかをチェックする。
  3. NSSTRINGオブジェクトからNSURLオブジェクトに変わります。
  4. loadRequestを使ってWEBKITにウェブをロードします。



ステップ4:
最後にこの-(IBAction)loadLocation:(id)sender{}をControllerViewに繋がりましょう。
まずはTEXTFIELDを選択してください。

ステップ5:
右側の”Sent Event"に”Did End On Exit"で隣の丸をViewControllerに引いてください。

ステップ6:
黒いメニユーで-loadLocationを選択してください。

ステップ7:
試してみましょう!



今回はここまでしましょう、次はBar Item Buttonについて話しましょう。
じゃーね。


2014年11月18日 星期二

WebViewオブジェクトを使ってみよう - 001


おはようございます、ひろしです。

今回はWebViewオブジェクトの簡単な使え方、基本のプログラミングとか、色々書こうと思います。宜しくお願いします。

目標はこんな感じですね。



一緒にやりましょう。


ステップ1:
XCODEをインストールして、開いてください。
Create a new Xcode Projectを選択してください。


ステップ2:
Single View Applicationを選択してください。

ステップ3:
ProductNameをお好みで入力してください。
Deviceのところは、Universalを選択し、Nextを押し進んでください。


ステップ4:
ここはあなたのプロジェクトです。


ステップ5:
XCODEの右下のオブジェクト ライブラリで”Navigation Bar”を選択し、ViewControllerの白い部分で引いてください。

ステップ6:
XCODEの左側に”Navigation Bar"を選択し、”Top Layout Guide"まで引いて、”Vertical Spacing"を選択してください。


ステップ7:
これから、Navigation Barを移動すると、数字が出れるようになります。TOPからNavigation Barまでの距離です。


ステップ8:
左側でVertical Spaceを選択し、右側でConstantで0に変わってください。
そうすると、View Controllerの一番上の数字が0になる。

ステップ10:
オブジェクト ライブラリでWeb Viewを選択し、View Controller の白いとろこへ引いてみま

ステップ11:
WEB Viewは好きなようなサイズを設定してください。

ステップ12:
”Add Missing Constraints inView Controller"を選択してください。

ステップ13:
次はBar Button Itemを選択し、Navigator Barまで引いてください。

ステップ14:
左側でBar Button Itemを選択し、右側で"Refresh"を選択してください。

ステップ15:
いまBar Button ItemのアイコンはREFRESHになりました。


ステップ16:
オブジェクト ライブラリでText Fieldを選択し、View ControllerのNavigator Barに引いてください。


ステップ17:
TextFiledの長さを調整してください。

ステップ18:
右側で以下の設定をしてください。
  1. text はhttp:// 設定してください。  Text fieldの最初値は http://になる。
  2. PlaceHolderはhttp://設定してください 入力がない時に表示する代替文字。
  3. Clear ButtonはAppears while editing設定してください フォーカスが当たる時だ表示する
  4. Correction はNo に設定してください 自動修正はオフ
  5. Keyboard はURLに設定してください URL用のキーボード字。
  6. Return Key はGOに設定してください キーボードの"returnがGOに変わる


次はプログラミングを始まりますので、またあとでね!









みんなさま、はじめまして。


はじめまして、香港出身のひろしです。
最近はますます将来の仕事の安定性がいまよりさらに低くなり、自分自身を守るためにもっと勉強しなければ、もっとスキルを 身につけなければという気持ちが溢れてきました。

でもなぜObjective-Cを勉強するでしょうか?
恥ずかしいですが、きっかけはわたしより15歳の年下の小学生の友達が(そうです、友達です!)楽しくXCODEを使って色々な簡単なプログラミングをやっている姿に感動しました。では自分にもきっとできるではないか?という気持ちで、本屋でアプリケーションつくりの入門参考書を買って、ネットで色々調べて(1ヶ月まえ)勉強始まりました。

このBLOGは、自分自身がいままで様々なプログラミングの問題、ノートを書いて、みんなさまにも役に立つと嬉しいと思っております。

これから、どうぞ宜しくお願いします。