Just My Life & My Work

Archive for the ‘教學’ Category

[iOS] 搜尋控制器客制按鈕

先前有提過搜尋控制器 (Search Controller),現在想要讓搜尋控制器客制按鈕,預設只有一個取消按鈕,那我們怎麼讓它變成兩個按鈕呢?

iOS 搜尋控制器客制按鈕

(繼續閱讀…)

[iOS] 處理推送通知 (Process Push Notification)

前一陣子介紹圖解APP訊息推播流程,是關於iOS和Android兩大平台從發送到接收的整個過程,現在我們想要實作處理推送通知 (Process Push Notification),iOS SDK已經包好方法只要註冊成功後,就能透過某個method來繼續接下來的處理。可以先參考圖解蘋果推播通知服務 (Apple Push Notification Service)

Apple Push Notification Service00002

(繼續閱讀…)

[Mac OS X] mp3轉檔caf

iOS App時,有時候需要用到自己找的音效,然而不是的可運用的格式,怎麼辦?這篇要講mp3轉caf,而且是用終端機內建指令喔!

開啟終端機到該mp3底下的資料夾⋯⋯

終端機指令範例:

afconvert -f caff -d LEI16@44100 -c 1 in.mp3 out.caf

in.mp3就是原始聲音檔,out.caf即是轉換後的音檔。

參考:Converting audio to CAF format for playback on iPhone using OpenAL

[C++] 解析JSON (Parse JSON)

JSON(JavaScript Object Notation)是一種輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。儘管JSON是Javascript的一個子集,但JSON是獨立於語言的文字格式,並且採用了類似於C語言家族的一些習慣。

不過目前C++並無內建函式可以解析JSON (Parse JSON),於是我便到GitHub找輕便好用的套件:JSON for Modern C++

json parse.png

上圖展示套件有四種方式來讀取JSON資料,因為我是要從檔案讀取來解析,所以足夠我使用囉~

(繼續閱讀…)

[C++] 讀取整個檔案為字串 (Read Whole File to String)

先前介紹讀取檔案 (Read File),是以一行一行逐步讀取,現在我們想要一次讀取整個檔案為字串,再來做其它處理,這樣可以怎麼實作呢?

Happy Face JSON.png

這個檔案內容是關於人臉資訊的JSON檔,包含年齡、性別、姿勢、種族、微笑等等量化資訊。

(繼續閱讀…)

[iOS] UIAlertController

UIAlertView已經被棄用,iOS 8開始由UIAlertController取代它囉!如此變得更親切迷人~

iOS UIAlertController.jpg

過去能透過UIAlertView做出可填寫欄位UITextField,現在UIAlertController也能實現,而且更加方便好操作。

例如上圖程式碼這麼寫:

/**
 Theme: UIAlertController
 IDE: Xcode 7
 Language: Objective C
 Date: 105/03/30
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"修改暱稱"
                                                                   message:@""
                                                            preferredStyle:UIAlertControllerStyleAlert];
    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        // optionally configure the text field
        textField.keyboardType = UIKeyboardTypeDefault;
    }];

    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"送出"
                                                       style:UIAlertActionStyleDefault
                                                     handler:^(UIAlertAction *action) {
                                                         UITextField *textField = [alert.textFields firstObject];

                                                     }];
    [alert addAction:okAction];

    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

    }];
    [alert addAction:cancelAction];

    [self presentViewController:alert animated:YES completion:nil];

看要增加幾個選項按鈕都可以,而且都是用Block來做後續處理,不用再像過去還要跳來跳去的Delegate

參考:About UIAlertView with Textfield

[iOS] 列表下拉更新

現在使用多數的App,若資料是以列表呈現,多會實作列表下拉更新,因為使用體驗非常親民直覺,所以沿用至今,於是我也想實現這功能啦⋯⋯

iOS 列表下拉更新.jpg

(繼續閱讀…)

[OpenCV] 尋找輪廓 (Find Contours)

有時候我們想找影像中某個物體,找到後要把它給標記出來,然後做後續處理,可以怎麼做呢?

OpenCV 尋找輪廓 Find Contours

我特地加入非純色的愛心

(繼續閱讀…)

[OpenCV] 計算輪廓面積 (Calculate Contour Area)

有時候想知道多邊形的面積,我們可以怎麼做?現在給定幾個座標點,只要呼叫內建的函式contourArea,就會回傳結果數值喔!這篇就叫做計算輪廓面積 (Calculate Contour Area)

OpenCV 計算輪廓面積 Calculate Contour Area2

讀取一張600×600的影像,四個座標點分別為(70,70)、(70,170)、(170,170)、(170,70),面積為10000,因為四邊長都是100,所以用心算就能得出結果。

(繼續閱讀…)

[iOS] 視圖動畫 (View to Animation)

想要讓App使用者體驗好一點,就少不了讓人驚喜的動畫效果,於是視圖動畫 (View to Animation)可以在關鍵互動的時候使用!

View to Animation

亦可參考先前教學:訊息跑馬燈影像轉場動畫

(繼續閱讀…)

標籤雲