勤之時 - 表示層(二)

應(yīng)用很早就上線了柠掂,歡迎大家下載使用:http://itunes.apple.com/app/id1206687109

源碼已經(jīng)公開翁潘,大家可以去https://github.com/Inspirelife96/ILDiligence下載辜昵。 喜歡的話Fork或者給個Star,非常感謝症见。

下面是這一系列的全部帖子:
想法和原型
勤之時 - 架構(gòu)與工程組織結(jié)構(gòu)
勤之時 - 數(shù)據(jù)持久層的實現(xiàn)
勤之時 - 網(wǎng)絡(luò)層的實現(xiàn)
勤之時 - 業(yè)務(wù)邏輯層
勤之時 - Info.plist的改動
勤之時 - 表示層(一)
勤之時 - 表示層(二)
勤之時 - 表示層(三)
勤之時 - 表示層(四)
勤之時 - 表示層(五)

從易到難,來看4個功能按鈕的實現(xiàn)殃饿,這一節(jié)講【設(shè)置】相關(guān)的功能實現(xiàn)谋作。

功能描述

Setting Controllers.png

【設(shè)置】View Controller

  • 點擊【設(shè)置】按鈕,以Present的形式顯示Setting Controller乎芳。
  • 左上角是關(guān)閉按鈕遵蚜,點擊關(guān)閉Setting Controller
  • Setting Controller基于Table View帖池。 上面是【勤之時】的ICON以及一些描述,Table List有3項內(nèi)容吭净,如圖睡汹。
  • 底部是一行出品描述字
  • 點擊【意見和反饋】Cell跳轉(zhuǎn)至郵件發(fā)送。
  • 點擊【給我打分】Cell跳轉(zhuǎn)至Apple Store 【勤之時】的下載頁面
  • 點擊【關(guān)于】按鈕攒钳,Present【關(guān)于】頁面

【關(guān)于】View Controller

  • 中間為一首小詩
  • 中下部有一個【贊賞】按鈕帮孔,點擊跳轉(zhuǎn)至支付寶客戶端,進行轉(zhuǎn)賬不撑。
  • 【贊賞】按鈕下是一串描述文字文兢。
  • 底部是【關(guān)閉】按鈕,點擊返回【設(shè)置】頁面焕檬。

MVC設(shè)計考慮:

  • Controller:
  • ILDSettingViewController:主要包含一個TableView姆坚,背景設(shè)置為虛化的主頁面。
  • ILDAboutViewController:About的功能實現(xiàn)实愚,同樣兼呵,背景為虛化的主頁面。
  • 考慮到背景都為虛化的主頁面腊敲,以及我們后續(xù)都需要這個以虛化的主頁面為背景的Controller击喂,這邊設(shè)計一個ILDBaseViewController,作為基類碰辅,主要用戶虛化的主頁面的背景設(shè)置懂昂。
  • Model:
  • View:
  • ILDSettingViewController 需要 ILDLogoView,來作為Table View的headerView
  • ILDSettingDefaultCell 為 Table View 的自定義Cell没宾。

ILDSettingViewController的編碼:

  • settingListTableView的初始化凌彬,主要是添加ILDLogoView作為它的HeaderView
- (UITableView *)settingListTableView {
    if (!_settingListTableView) {
        _settingListTableView = [[UITableView alloc] init];;
        _settingListTableView.delegate = self;
        _settingListTableView.dataSource = self;
        _settingListTableView.tableFooterView = [[UIView alloc] init];
        _settingListTableView.separatorInset = UIEdgeInsetsMake(0, 12, 0, 12);
        _settingListTableView.tableHeaderView = [[ILDLogoView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, ScreenHeight - 128 - 4 * 44)];
        [_settingListTableView setBackgroundColor:ClearColor];
    }
    
    return _settingListTableView;
}
  • 以及settingListTableView的datasource和delegate
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ILDSettingDefaultCell *defaultCell = [[ILDSettingDefaultCell alloc] init];
    
    if (indexPath.row == 0) {
        defaultCell.textLabel.text = @"意見與反饋";
        defaultCell.imageView.image = [UIImage imageNamed:@"menu_feedback_26x26_"];
        return defaultCell;
    } else if (indexPath.row == 1) {
        defaultCell.textLabel.text = @"給我打分";
        defaultCell.imageView.image = [UIImage imageNamed:@"menu_rate_26x26_"];
        return defaultCell;
    } else {
        defaultCell.textLabel.text = @"關(guān)于";
        defaultCell.imageView.image = [UIImage imageNamed:@"menu_about_26x26_"];
        return defaultCell;
    }
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == 0) {
        NSString *subject = @"勤之時 用戶反饋";
        NSArray *recipientArray = [NSArray arrayWithObject: @"inspirelife@hotmail.com"];
        NSString *body = @"";
        
        NSDictionary *emaidContentDict = [NSDictionary dictionaryWithObjectsAndKeys:
                                          subject, @"subject",
                                          recipientArray, @"recipients",
                                          body, @"body",
                                          nil];
        
        [self sendMailInApp:emaidContentDict];
    } else if (indexPath.row == 1){
        if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:kAppReviewURL] options:@{} completionHandler:^(BOOL success) {
            }];
        } else {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:kAppReviewURL]];
        }
    } else {
        ILDAboutViewController *aboutVC = [[ILDAboutViewController alloc] init];
        [self presentViewController:aboutVC animated:YES completion:nil];
    }
}

ILDAboutViewController的編碼:

  • 主要還是布局的問題。除了布局循衰,就是點贊的按鈕會跳轉(zhuǎn)到支付寶铲敛,向我發(fā)起支付
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:kPayURL] options:@{} completionHandler:^(BOOL success) {
        }];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:kPayURL]];
    }

這個功能是怎么實現(xiàn)的?這里不需要注冊額外的什么支付寶開發(fā)等等会钝,主要的就是怎么找到這個Schema

NSString *const kPayURL = @"alipayqr://platformapi/startapp?saId=10000007&qrcode=HTTPS://QR.ALIPAY.COM/xxxxxxxxxxxxxxxx";

最后一串就是你的支付寶ID對應(yīng)的二維編碼解析得到的結(jié)果伐蒋。你可以打開支付寶,找到自己的二維碼顽素,然后Decoder這個二維碼咽弦,你就會發(fā)現(xiàn)HTTPS://QR.ALIPAY.COM/xxxxxxxxxxxxxxxx這一串代碼,然后代替上面的就可以了胁出。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市段审,隨后出現(xiàn)的幾起案子扣猫,更是在濱河造成了極大的恐慌,老刑警劉巖规丽,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馒索,死亡現(xiàn)場離奇詭異,居然都是意外死亡饭聚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砌烁,“玉大人,你說我怎么就攤上這事催式『恚” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵荣月,是天一觀的道長管呵。 經(jīng)常有香客問我,道長哺窄,這世上最難降的妖魔是什么捐下? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮萌业,結(jié)果婚禮上坷襟,老公的妹妹穿的比我還像新娘。我一直安慰自己生年,他們只是感情好婴程,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晶框,像睡著了一般排抬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上授段,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天蹲蒲,我揣著相機與錄音,去河邊找鬼侵贵。 笑死届搁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窍育。 我是一名探鬼主播卡睦,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼漱抓!你這毒婦竟也來了表锻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乞娄,失蹤者是張志新(化名)和其女友劉穎瞬逊,沒想到半個月后显歧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡确镊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年士骤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕾域。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拷肌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旨巷,到底是詐尸還是另有隱情巨缘,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布契沫,位于F島的核電站带猴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏懈万。R本人自食惡果不足惜拴清,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望会通。 院中可真熱鬧口予,春花似錦、人聲如沸涕侈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裳涛。三九已至木张,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間端三,已是汗流浹背舷礼。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留郊闯,地道東北人妻献。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像团赁,于是被迫代替她去往敵國和親育拨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容