1. 如何讓虛擬鍵盤消失?
當我們在Storyboard上加入UITextField,可以為此文字框設定跳出何種虛擬鍵盤。在keyboard屬性設定中可以是Default(有文字有數字)、Number Pad(僅有數字)以及其他電話專用或是E-mail專用的鍵盤。但當輸入完畢希望礙眼的鍵盤消失,一般書上介紹的方式都是按下鍵盤上的Return鍵來關閉虛擬鍵盤,其方法如下:
1. 先在.h檔底下宣告一種可以讓storyboard看得到的函式
-(IBAction) 函式名稱:(id)sender;
//函式名稱可以叫做removeKeyboard,或是其它任意名字
2. 在.m檔底下實現此函式,重點是要在裡面呼叫能讓鍵盤消失的函式
-(IBAction) 函式名稱:(id)sender
{
[UITextField名稱 resignFirstResponder];
}
3. 接著在Storyboard將UITextField其Sent Events下的"Did End On Exit"拉藍線與此函式名稱連結起來
這方法不錯用,但僅限於有Return鍵的虛擬鍵盤。像Number Pad或是Phone Pad就沒有Return鍵供使用者點擊,使用者的習慣是點選文字框以外的地方嘗試關閉鍵盤,所以得使用另一種方法來解決此問題。此方法就是加一個和螢幕一樣大的按鈕,讓此按鈕藏到最下層使用者看不到的地方,當使用者點擊文字框以外的區域時,就會觸發此隱藏按鈕,所以我們要做的是將上面提到步驟2裡面所呼叫的函式加近點擊隱藏按鈕所觸發的函式裡面:
1. 先在Storyboard的Control View上加入一個UIButton按鈕並透過拖拉方式將其放大至與此Control View一樣大小
2. 同上面步驟1和步驟2
3. 在Storyboard上將UIButton其Sent Events下的"Touch Down"拉藍線與此函式名稱連結起來
4. 將按鈕隱藏的方法是在文字框與按鈕之間放入一個UIImageView,讓ImageView擋住按鈕。若不打算加ImageView的話,還有另個方式就是調整UIButton的透明度,將按鈕的Alpha屬性改為0.1,0.1還是可以隱約看到按鈕,但如果小於0.1,雖然看不到按鈕,可是卻也無法執行按鈕該有的功能。
像這樣按鈕Button - 6和文字框TextField - 300中間夾個Image View,越上面代表越下層,押著Button - 6拖曳即可改變其圖層位置。
2. 如何判定檔案是否存在?
NSString *homePath = NSHomeDirectory();
NSString *filePath = [homePath stringByAppendingPathComponent:@"Documents/a-pen.jpg"];
if([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
//有找到圖片檔
}
else {
//沒找到圖片檔
}
3. 如何在Navigator Bar上產生有方向性的按鈕?
透過Storyboard可以輕鬆建立一個按鈕並且將此按鈕拉線接到另一個Control View,然後選擇Modal的屬性,就能在按下按鈕時進行換頁動作。問題是如果今天你原本的Control View是歸Tab Bar Controller所控制,則此種換頁方式將會導致下面的Tab Bar消失,如下圖。
Navigator Bar可以幫忙解決此問題,首先得讓Tab Bar其中一個選項指到Navigator Controller。而Navigator Controller後端可以接Table View,也可接一般Control View。
上圖最右邊的Table View才是點選Tab之後才會看到的畫面。再來依照下圖在Table View新增一個Button(不論用自創Button、Navigator Bar上的Button、或是Table Item都是一樣的做法),接著新增欲換頁的對象,這裡以Control View為例,再來是在此Control View上新增Navigator Item。最後是將Button以"Push"屬性連接此Control View。
於是執行時,點選Push Button換頁後,可以看到上方有個退回鍵,其名稱等同於前一頁的標題。
4. 如何將截圖的空白處清除變成完全透明?
Apple OS提供可選取的截圖方式:command鍵 + shift鍵 + 數字鍵4。所截取下來的圖如果有白色的地方還是得經過一道手續,套用到UIImageView上才能真的是透明的。有個很不錯的線上工具pixlr.com/editor。使用此工具載入存在個人電腦上的截圖後,可以看到右邊有個表示圖層的框框,必須對此框框內縮圖旁的鎖連點兩下才能解鎖。
接著選擇魔棒工具,然後點選空白處,接著按delete鍵就可以刪除,刪除後的區域會變成棋盤格紋。最後再按control鍵+S鍵,或是點選上面選單"文件"->"保存"即可。
沒有留言:
張貼留言