Just a Computer Graphics Studio & My Life

Archive for the ‘iOS’ Category

[iOS] UIAlertController 字體靠左

原生的UIAlertController字體靠中,看到高人hack出如何改變字體特性,終於豁然開朗呢!

uialertcontroller-original

(繼續閱讀…)

Advertisements

[iOS] 開放資料之中國石油

只要會開車騎車的人,都會想知道現在的油價,現在中國石油開放資料可供串接,然而規格是我從來沒碰過的SOAP,這塊「肥皂」比起簡潔的JSON複雜多,於是我還要借助開源來幫我處理~

ios-%e9%96%8b%e6%94%be%e8%b3%87%e6%96%99%e4%b9%8b%e4%b8%ad%e5%9c%8b%e7%9f%b3%e6%b2%b9
(繼續閱讀…)

[iOS] NSRunLoop和NSTimer

製作一個好的App有非常多因素,而其中使用者體驗非常重要,影響用戶是否會繼續使用我們的App。

原本以為Timer會固定時間就觸發,然而在多線程的狀況下並不是如此,因為每個事件都會被排程,假如前面執行事件會花長時間,就會影響原本我們預定時機點想觸發的Timer。

目前遇到的狀況:

手指滑動TableView,原本每秒執行的Timer卻不運作,直到放開手指。

原來把Timer加入到RunLoop就能解決問題!

程式碼這麼寫:

    timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];

    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

果真它就如預期運行了!

(繼續閱讀…)

[iOS] Navigation Bar 客製化

iOS App幾乎少不了Navigation Bar,想要客製化Navigation Bar就要多些技巧,因為iOS SDK內建的功能有限(也許我沒發現XD~)。過去我們團隊常自己刻Navigation Bar,每一頁都拉介面設定,儘管麻煩還是依樣畫葫蘆,有時候某些頁面要呈現特別的樣子,就會慶幸我們使用非原生:P~

原生預設長得像下方圖⋯⋯

navigation-bar2

如果沒有特別設定,高度和顏色固定。

(繼續閱讀…)

[iOS] 導向系統設定App

有些功能只能從系統設定App,那麼我們就必須知會使用者,若可以的話就導向系統設定App吧~

iOS 系統設定app 垃圾管家.jpg

/**
 Theme: Open Setting App
 IDE: Xcode 8
 Language: Objective C
 Date: 105/12/28
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
-(void)pushSettingAction:(id)sender
{
    if (/* DISABLES CODE */ (&UIApplicationOpenSettingsURLString) != nil) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
    else {
        DxLog(@"UIApplicationOpenSettingsURLString is not available in current iOS version");
    }
}

這樣我就能導向原本App(以垃圾管家為例)的系統設定囉~

參考:How to open Settings programmatically like in Facebook app?

[iOS] 取得本機相片 (Fetch Photos from Photo Library)

現代人使用智慧手機已經脫離不了「相機」,於是許多應用需要取得本機相片 (Fetch Photos from Photo Library),我們開發者要怎麼做,才能輕易取得使用者珍貴的相片呢?

取得本機相片 (Fetch Photos from Photo Library).jpg

(繼續閱讀…)

[iOS] 檢查Email格式 (Check Email Format)

製作跟會員有關係的App,很常需要檢查Email格式 (Check Email Format),儘管知道這跟正規語言(Regular Language)有關係,但還是請高手幫我寫規則吧XD~

/**
 Theme: Check Email Format
 IDE: Xcode 8
 Language: Objective C
 Date: 105/11/14
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */

-(BOOL)isValidEmail:(NSString *)checkString
{
    BOOL stricterFilter = NO; // Discussion http://blog.logichigh.com/2010/09/02/validating-an-e-mail-address/
    NSString *stricterFilterString = @"^[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$";
    NSString *laxString = @"^.+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2}[A-Za-z]*$";
    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:checkString];
}

以後直接來這裡複製貼上吧~

參考:Check that an email address is valid on iOS

標籤雲

%d 位部落客按了讚: