2012年6月29日 星期五

設定 UINavigationController 到第二個 View 中

大部分的教學都是教你如何使用 UINavigationBar 或是將 UINavigationController 設定到第一頁中
並沒有教你如何將 UINavigationController 加到第二頁或是第三頁中
不過還是讓我找到如何使用了
這個教學是使用 Utility Application 的範本
在 MainViewController.m 的 - (IBAction)showInfo:(id)sender
加入下面的程式碼
就可以在 FlipsideViewController.m 使用 UINavigationController 的功能了

第二個 App

這次的 App 原本是想做成"一鍵地震文"的功能,
不過這樣子會因為功能太簡單的關係被 Apple 退件,
所以將它改成求救用的功能,就是當你遇難時能將你的求救訊息傳到 Facebook 或 Twtter 與微博中,
但是光是設計 icon 就花費我半天的時間了,程式方面只花了將近一週的時間,
這個是程式的主畫面,
假設一位遇難者在海上遇難,到了一個孤島,
他找到了一張紙和一張便條紙,他在這張紙寫下他的求救訊息,
所以我將它做成一張紙的風格,並且使用手寫文字的方式畫出介面,
還有便條紙其實是一個按鈕,按下去時可以呼叫傳送訊息的介面,
當然傳送訊息時必須使用網路功能,所以必須做網路檢查的功能,
這樣子才能審核通過,
這個是設定畫面,在這邊你可以設定你的預設求救訊息與是否顯示你的座標,
和選擇傳送的服務,在現在送審的版本只有 Twitter 的功能,
等到支援 iOS 6 的程式可以送審的時候才會將這個版本送審,
這是選擇傳送的服務的選擇畫面,同上,這只有下一版才有這個畫面。

2012年6月27日 星期三

音樂、電影

iTunes Store 總算開放台灣地區的音樂與電影商店了
音樂一首台幣20元算便宜了,不過我都是買日文歌曲,
所以對我用處不大,

電影一片要台幣350~590元,也是很便宜,
而且租借一片台幣60元起跳,比外面的影片出租店便宜許多。

2012年6月22日 星期五

台幣

在一夜之間,所有台灣的 App Store 的幣值從原本的美金改成台幣
Mac App Store 也一樣
這樣子是很方便,至少不用拿著計算機換算了

2012年6月21日 星期四

即將完成

這次這個 App 總算進入完成階段了
只要將設定的資料寫入檔案儲存起來就可以送給 Apple 審核了
目前預定價格是 USD 1.99$ (NTD 60$)
上架時特價免費一週,近請期待。

2012年6月20日 星期三

第二畫面樣式

原本的畫面是長得這個樣子
不過我多做了新的畫面供使用者選擇
之後在程式的設定畫面中就可以選擇你想要哪一種的畫面了

2012年6月18日 星期一

字型設定

這次是上一篇說的字型設定教學,
這部份我是在一個 App 裡面發現到的,
因為 App 裡面有字型的檔案,
所以才找了字型相關的設定,
接下來就正式開始教學了。
要設定字型當然要先準備字型檔案,
任何一個都可以,
準備好後就直接放入專案中,

有時候 Xcode 很神奇的不會將新增的檔案加入 "Copy Bundle Resource" 中,
所以這時候就要手動加入了,
只要將左邊的專案檔案清單中的檔案直接拉入就可以了,
我之前一直失敗,無法自定字型,結果就是這個原因,
之後到 Targets 的 Info 設定字型檔案,
如果有多個字型檔案就一直加下去就可以了,
之後就是正式設定字型了,
在 .m 檔中你想要建立字型的地方打入,
UIFont *newFont = [UIFont fontWithName:@"字型名稱" size: 字型大小 (CGFloat)];
之後在要顯示的 Label 或 TextField 使用 setFont: 就可以增加了

設定字型後的結果就像是這樣子

基本介面完成

經過兩天的努力,總算將基本介面完成了,
這次有增加第一次啟動時的簡介畫面
也有另外做中文版本的
關閉簡介後的畫面
畫面的底圖是參考台灣早期的轉盤式公共電話的配色,
加了一點經過風吹日曬後的塑膠劣化的痕跡
另外在左上角增加了有點不符時代的 LCD 螢幕,
來顯示撥號的數字,當然顯示的字型是 LCD 風格的,
有空我再做修改字型的教學。

2012年6月14日 星期四

Social Framework

iOS 6 開始將所有的社群功能都整合在一個 Framework 上面
就是 Social Framework
使用上也非常簡單
而且要使用 Twitter 時不需要再用舊的 Twitter Framework 了
說不定 Twitter Framework 會是最短命的 Framework

先加入 Social.framework 到專案裡面
之後只要 #import <Social/Social.h> 加入你的 h 檔裡面
接下來就宣告一個名稱給它
SLComposeViewController *social;
這樣子就可以在 m 檔中直接使用了

使用方式如下:
// 設定 Social 的類型
social = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
其中
SLServiceTypeFacebook 就是 Facebook
SLServiceTypeTwitter 就是 Twitter
SLServiceTypeWeibo 就是微博

發送訊息
[social setInitialText:NSSiring];

也可以附加圖片傳送
[social addImage:UIImage];

或是網址
[social addURL:NSURL];

2012年6月12日 星期二

iOS 6 Beta 1 簡單測試

今天半夜一點正是 WWDC 的第一天

這天發表了 iOS 6 與 OS X 10.8 Mountain Lion 兩個作業系統
而 iOS 6 要到秋天才會正式開放給一般使用者使用
因為我是付費開發者,所以可以搶先試用

我個人習慣是一個新系統是從設定看起
所以就先看設定了

設定畫面有做了一點變動,由上而下是
最先是 Statusbar 從原本的灰色改成淺藍色
再來是"藍牙"功能移動到第一頁了
最後是 iOS 6 的新功能"勿打擾"
(因為我是使用英文介面,所以翻譯會有所差異,請見諒)

勿打擾開啟的時候就你的裝置就不會發出任何的聲音與螢幕也不會有點亮的動作
讓你夜晚睡眠的時候不會被打擾
另外這個功能可以設定行程,可以為設定 24 點到 7 點之間自動啟動
另外分享功能從原本的 Twitter 增加了 Facebook 與 Sina 微博兩個功能
Facebook 的設定頁面

接下來是相片的功能
原本的相片串流的選項改到下面了
不會與原本的相片混在一起了

再來是大家較在意的功能"地圖"
iOS 6 中的地圖不再由 Google 進行支援了
改用 TomTom 的圖資
至少不用擔心台灣的資訊會不完全
但是街景功能就消失了

希望 Google 另外推出地圖 App

再來是通訊錄
通訊錄的群組選項改到左上方去了
介面外觀也有些許的修改

電話功能的撥號介面大改
顏色從原本的暗色系改成亮色系

提醒事項的 Bug 修正
原本在設定中使用了"取用限制"功能來禁止"定位服務"功能變動時
"在指定位置傳送提醒"的功能會無法使用
現在就沒這個問題了

另外 App Store 介面更動
主要畫面修改
排行榜介面修改
增加了 App 下載時的下載進度顯示
搜尋介面

Safari 介面小改
分享功能增加了之前說到的那些

相機介面也更動了,從原本灰色改成黑的

另外對台灣的使用者好消息是注音鍵盤更動為一般電腦的樣式了

另外還有 Siri 沒有測試,因為我的是 iPhone4 所以無法使用 Siri
所以就不測試了

iOS6 Btea 1

iOS6 Btea 1 開放下載了
這次是否會超過 iOS 5 Bate 7 的數量
大家就拭目以待了

2012年6月11日 星期一

播出電話

撥出號碼的功能可以使用了
不過有個新問題
Button 的 Touch Up Inside Event 無法使用
不知道是哪邊有問題?

撥號輸入

撥號輸入的功能完成
第一次遇到 NSMutableArray 轉 NSString 的問題
最後是採用 NSMutableString 來解決

2012年6月10日 星期日

WWDC


眾所矚目,引頸期盼的 WWDC 大會即將登場
台灣時間 6/12~16 日正式開始

Apple 會做什麼動作?到時候就知道了。

2012年6月9日 星期六

Objective-J

在我的朋友FB中看到這個神奇的程式語言
它算是 Objective-J 與 Java 的混合版
不過它是寫網頁的程式不是電腦上的
這倒是很神奇就是了 XDD

它的官方網站在這裡:http://cappuccino.org/
有興趣的人可以去看看

2012年6月8日 星期五

階段性任務完成

現在轉盤已經可以在某個角度停止了
像是轉 1 的時候就是到某個角度就不再增加角度值

而詳細的解決方法是在數字上面建立一個透明的 Button
使用 Touch Drag Inside 與 Touch Drag Outside 兩個事件
來判斷角度到了一個程度就將旋轉角度等於限制角度

另外在轉盤整體建立另一個 Button
使用 Touch Down 的事件來避免在數字範圍外的的觸碰的錯誤情形

接下來就是宣告一個陣列儲存每次轉動的數字
之後就只要將界面完成即可

2012年6月7日 星期四

新介面、新問題

研究完撥號盤之後就開始重畫新介面,
新介面長得像這樣子

不過出現了新問題,
因為陰影製作的時候,增加了轉盤圖片的整體大小,
所以中心點不在原本的位置了,
因此轉到某個角度時就會漏餡,

所以下次重新製作轉盤時要注意要去掉轉盤本身的陰影。

重做後的結果,轉盤的外部陰影去掉了,
這樣子就好多了,未來需要外部陰影的時候再用另一張圖加回去就好了,
就不會有陰影跟著一起轉動的問題了,

最後要開始要如何判別數字和轉動到一定限度後就禁止轉動的問題,
判別數字是比較簡單,就用轉動角度做判斷即可,
比較難的是要如何做到轉動到一定程度就停止轉動的問題。

相同的 App

在找尋轉盤式傳統電話的資訊的時候意外發現這個 App Bakelite 和 Rotary Ring
Bakelite 從 2008 年以後就沒再更新了,

Rotary Ring 也是從 2011 之後就沒更新了,
不過它有提供較多的介面,


所以可以藉由它們的介面來轉變成我的東西。

再度來到科工館

因為要讓傳統電話 App 更真實,所以來這裡研究傳統電話的細節、轉盤轉動速度、數字位置等等。