麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

iOS開發(fā)筆記1:ToDoList、相冊、地圖應(yīng)用及新浪微博

2019-11-14 19:08:47
字體:
供稿:網(wǎng)友

     前段時間做了一些小東西,一些關(guān)鍵點記錄總結(jié)如下

1.ToDoList

      主要是使用UITableView以及NSUserDefaults完成任務(wù)管理,可新建、編輯及刪除任務(wù)。

      因為是Demo性質(zhì),所以利用NSUserDefaults做數(shù)據(jù)持久化,作為一個plist存儲在應(yīng)用的沙盒里。需要注意的是更新數(shù)據(jù)時需要立即同步一下“[[NSUserDefaults standardUserDefaultssynchronize]”,防止遇到異常情況如應(yīng)用崩潰導(dǎo)致數(shù)據(jù)丟失等。

進入應(yīng)用時,再從沙盒里讀取已有數(shù)據(jù)。

效果圖如下,可新建、編輯及刪除任務(wù),紅色代表任務(wù)待處理,點擊cell顏色變成綠色代表已完成,再點擊則變紅,通過點擊cell更新任務(wù)處理情況,其他還有tableView常見的查看詳情、排序等。

2.相冊

      主要使用CoreData做數(shù)據(jù)持久層存儲數(shù)據(jù),利用系統(tǒng)自帶的Core Image Filter做濾鏡功能(在模擬器上濾鏡處理非常慢)。

      需要注意的是遇到CoreData模型更新后編譯報錯,檢查代碼無誤,可能重建模型或者刪除模擬器上的對應(yīng)程序再編譯就正常了,暫時沒有找到原因,CoreData是iOS自帶的ORM框架,但感覺水有點深,需要再專門研究下。

      使用Core Image Filter時需要注意filterName的拼寫,詳細參考:Core Image Filter Reference

3.地圖應(yīng)用

    主要使用ArcGIS Runtime SDK for iOS 10.2.4開發(fā),需要注意以下幾點:

   (1)iOS8開始,使用定位功能需要在info.plist里設(shè)置

     設(shè)置“NSLocationWhenInUseUsageDescription”和“NSLocationAlwaysUsageDescription”,這樣應(yīng)用運行時才會彈出提示框供用戶選擇,也就是平時看到有些應(yīng)用啟動時會提示是否允許一直獲得位置信息或僅當(dāng)應(yīng)用運行時獲得位置信息。例如在info.plist里添加“NSLocationWhenInUseUsageDescription”這一項,value則代表彈出框中的提示語。

   (2)在模擬器中可通過新建一個gpx文件來模擬一個具體位置信息,調(diào)試時選擇根據(jù)這個gpx文件進行定位即可。

    (3)坐標(biāo)系的轉(zhuǎn)換,由于ArcGIS Runtime SDK for iOS 沒有直接提供wgs1984到WebMercator的轉(zhuǎn)換方法,可通過以下方法進行轉(zhuǎn)換

-(AGSPoint *) wgs1984Point2WebMercatorPoint:(AGSPoint *) point{    double x = point.x * 20037508.34 / 180;    double y = log( tan ((90 + point.y) * M_PI / 360)) / (M_PI / 180);    y = y * 20037508.34 / 180;    AGSPoint *webMercatorPoint = [[AGSPoint alloc] initWithX:x                                                           y:y                                            spatialReference:[AGSSpatialReference spatialReferenceWithWKID:3857]];    return webMercatorPoint ;}

    (4)可通過代碼控制界面旋轉(zhuǎn)方向,通過工程設(shè)置控制設(shè)備旋轉(zhuǎn)方向。

   

    (5)用到的一些第三方類庫:

      下拉刷新控件MJRefresh 聚類分析clusterlayer-plugin-ios動態(tài)輸入框以及常用的JSONKit、AFNetWorking、MBPRogressHUD

      天氣預(yù)報信息調(diào)用的是百度API Store找到第三方API:http://apistore.baidu.com/astore/serviceinfo/1798.html

    (6)使用AFNetWorking時,數(shù)據(jù)返回格式為"text/plain"時,AFNetWorking默認支持格式是沒有此項的,需要在源碼AFHTTPResponseSerializer.m中添加此項格式即可。

      

效果圖(模擬器上渲染比較卡):

4.新浪微博

      (1)對于背景圖片可直接在Xcode設(shè)置為拉伸模式

  

       (2)使用kvc來讀寫readonly的成員變量,例如重寫tabBarViewController后,對tabBar重新設(shè)置,方便實現(xiàn)自定義控件效果。

        (3)使用ScrollView+PageControl實現(xiàn)新特性頁面的效果,移動scrollView時需要實現(xiàn)整頁翻動效果,而實際scrollView已經(jīng)提供了一個屬性pagingEnabled,啟用即可,否則還是scrollView默認的滾動效果。

         (4)應(yīng)用進入后臺狀態(tài)時,如果想在app圖標(biāo)上顯示未讀微博數(shù)量,需要進行權(quán)限設(shè)置,否則報錯“"Attempting to badge the application icon but haven't received permission from the user to badge the application"

         參考資料:

         http://stackoverflow.com/questions/25973364/attempting-to-badge-the-application-icon-but-havent-received-permission-from-th

 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html

       (5)Xcode6以后如果還想像之前一樣設(shè)置啟動圖片,需要單獨新建LaunchImage,并修改相關(guān)設(shè)置,如圖所示

效果圖:

5.Xcode插件

      推薦兩個插件:寫注釋專用的VVDocumenter圖片預(yù)覽插件KSImageNamed

       KSImageNamed效果圖


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人av一二三区 | 成人福利在线免费观看 | 美女扒开腿让男生桶爽网站 | 国产精品刺激对白麻豆99 | 国产91丝袜在线播放0 | 最新在线黄色网址 | 女人裸体让男人桶全过程 | 欧美videofree性欧美另类 | 毛片免费看电影 | 免费播放av| 国产成年人视频 | 极品xxxx欧美一区二区 | 91精品国| 1314av| 久久久久久麻豆 | 国产羞羞网站 | 看免费5xxaaa毛片 | 一区二区三区在线观看av | 国产羞羞视频在线观看免费应用 | 369看片你懂的小视频在线观看 | 美国一级毛片片aa久久综合 | 国产一区二区精品免费 | 一本色道久久综合狠狠躁篇适合什么人看 | 日本成年免费网站 | 国产大片全部免费看 | 精品999久久久 | 久久精品国产99久久6动漫亮点 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 97中文字幕第一一一页 | 国产一区视频在线观看免费 | 欧美在线一级 | 久久美女色视频 | 一级精品 | 亚洲生活片| 久久草在线视频国产 | 久久精品99国产国产精 | 91成人免费在线观看 | 久久九九热re6这里有精品 | 全黄性性激高免费视频 | 在线日韩av电影 | 91在线看黄|