5月28-懶加載,HUD蒙板,plist數(shù)據(jù)

基礎(chǔ)UI控件綜合使用

要求:

寫一個(gè)程序鲫尊,類似于淘寶的購(gòu)物車,用戶點(diǎn)擊添加按鈕,就會(huì)把一件商品加入到購(gòu)物車中蓖柔,等購(gòu)物車滿了奢人,可以點(diǎn)擊刪除按鈕刪除購(gòu)物
車中商品

設(shè)計(jì)思想:

把UIImageView和UITextView合并放到一個(gè)VIew中,然后用這個(gè)整體的View進(jìn)行布局,點(diǎn)擊添加按鈕可以

發(fā)現(xiàn)幾個(gè)控件是一個(gè)整體牛哺,可以先建立一個(gè)控件容器陋气,然后把需要的控件都合并到這個(gè)容器中

  • 這樣可以讓一個(gè)控件移動(dòng)大家一起移動(dòng)
  • 使用UIView作為父控件,提高效率
  • 通過行號(hào)和列號(hào)來計(jì)算布局
  • HUD 指示器 蒙板 遮蓋
  • 添加提示框引润,一般使用背景半透明巩趁,文字不用半透明
  • 延時(shí)調(diào)用的方法,可以用多種方法實(shí)現(xiàn)
  • 簡(jiǎn)書blog
  • 加載plist數(shù)據(jù)淳附,使用plist文件保存數(shù)據(jù)
  • 凡是參數(shù)名為file的傳遞的都是文件的全路徑
  • 一個(gè)NSBundle是蘋果推薦的對(duì)象資源包议慰,用來訪問已知隊(duì)形的資源包內(nèi)部的文件,可以用來獲取文件的全路徑
  • 項(xiàng)目里面的資源包奴曙,主資源包里面别凹,項(xiàng)目中添加的資源都會(huì)被添加到主資源包種
  • 增加資源包得問題,一般來說要同時(shí)Copy和鏈接進(jìn)去
    在項(xiàng)目中經(jīng)城⒃悖可能會(huì)發(fā)現(xiàn)明明文件和資源在項(xiàng)目里面炉菲,但是不能使用,很有可能是因?yàn)闆]有參與編譯和打包坤溃,不能使用info.plist
    
  • 懶加載

  • 用到時(shí)候在去加載數(shù)據(jù)拍霜,用來提高效率
  • 重寫Get方法,用來解決用得時(shí)候在加載
  • 模型是專門用來存放數(shù)據(jù)的對(duì)象
  • 九宮格排版控件算法
    詳細(xì)使用
    按鈕狀態(tài)的控制
    在需要的時(shí)候添加指示器-HUD
    使用plist文件保存數(shù)據(jù)
    一個(gè)NSBundle對(duì)象對(duì)應(yīng)一個(gè)資源包(圖片薪介、音頻祠饺、視頻、plis等文件)
    NSBundle的作用:用來訪問與之對(duì)應(yīng)的資源包內(nèi)部的文件汁政,可以用來獲得文件的全路徑
    項(xiàng)目中添加的資源都會(huì)被添加到主資源包中
    [NSBundle mainBundle]關(guān)聯(lián)的就是項(xiàng)目的主資源包
    ??? // 加載plist文件
    ??? NSBundle *bundle = [NSBundle mainBundle];

    ??? // 利用mainBundle獲得主資源包中文件的全路徑
    ??? NSString *filepath = [bundle pathForResource:@"shops" ofType:@"plist"];

    ??? // 凡是文件參數(shù)為File道偷,傳遞的都是文件全路徑
    ??? self.shops = [NSArray arrayWithContentsOfFile:filepath];
    懶加載
    加載plist數(shù)據(jù)(比較大)
    懶加載:用到時(shí)再去加載,而且也只加載一次
    在調(diào)用的時(shí)候會(huì)用到Get方法
    通過重寫Get方法记劈,來實(shí)現(xiàn)懶加載
    // 重寫shops的get方法勺鸦,實(shí)現(xiàn)在調(diào)用的時(shí)候才加載數(shù)據(jù) : 懶加載
    - (NSArray *) shops{
    ??? if (_shops == nil){
    ??????? NSString *file = [[NSBundle mainBundle] pathForResource:@"shops" ofType:@"plist"];
    ??????? self.shops = [NSArray arrayWithContentsOfFile:file];
    ??? }
    ??? return _shops;
    }
    模型
    建立一個(gè)類用來封裝數(shù)據(jù) : 數(shù)據(jù)模型類
    instancetype用來定義一個(gè)自動(dòng)獲取返回值類型的函數(shù)
    // 使用構(gòu)造函數(shù)方法把數(shù)據(jù)庫文件內(nèi)容賦值給自定義數(shù)據(jù)模型類
    - (instancetype) initWithDict:(NSDictionary *)Dict{
    ??? if (self = [super init]){
    ??????? self.name = Dict[@"name"];
    ??????? self.icon = Dict[@"icon"];
    ??? }
    ??? return self;
    }

    // 類方法用來提供快捷初始化對(duì)象方法
    + (instancetype) initWihtDict:(NSDictionary *)Dict{
    ??? return [[self alloc] initWithDict:Dict];
    }
    View的封裝
    layoutSubviews的調(diào)用
    這個(gè)方法專門用來布局子控件,一般在這里設(shè)置子控件的frame
    當(dāng)控件本身的尺寸發(fā)生改變的時(shí)候抠蚣,系統(tǒng)會(huì)自動(dòng)調(diào)用這個(gè)方法
    - (void)layoutSubviews
    {
    ??? // 一定要調(diào)用super的layoutSubviews
    ??? [super layoutSubviews];

    ??? CGFloat shopW = self.frame.size.width;
    ??? CGFloat shopH = self.frame.size.height;
    ??? self.iconView.frame = CGRectMake(0, 0, shopW, shopW);
    ??? self.nameLabel.frame = CGRectMake(0, shopW, shopW, shopH - shopW);
    }
    UIButton祝旷、UIImageView、UILabel的選擇

    最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
    • 序言:七十年代末嘶窄,一起剝皮案震驚了整個(gè)濱河市怀跛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌柄冲,老刑警劉巖吻谋,帶你破解...
      沈念sama閱讀 216,997評(píng)論 6 502
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異现横,居然都是意外死亡漓拾,警方通過查閱死者的電腦和手機(jī)阁最,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 92,603評(píng)論 3 392
    • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇两,“玉大人速种,你說我怎么就攤上這事〉颓В” “怎么了配阵?”我有些...
      開封第一講書人閱讀 163,359評(píng)論 0 353
    • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)示血。 經(jīng)常有香客問我棋傍,道長(zhǎng),這世上最難降的妖魔是什么难审? 我笑而不...
      開封第一講書人閱讀 58,309評(píng)論 1 292
    • 正文 為了忘掉前任瘫拣,我火速辦了婚禮,結(jié)果婚禮上告喊,老公的妹妹穿的比我還像新娘麸拄。我一直安慰自己,他們只是感情好黔姜,可當(dāng)我...
      茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
    • 文/花漫 我一把揭開白布感帅。 她就那樣靜靜地躺著,像睡著了一般地淀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岖是,一...
      開封第一講書人閱讀 51,258評(píng)論 1 300
    • 那天帮毁,我揣著相機(jī)與錄音,去河邊找鬼豺撑。 笑死烈疚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的聪轿。 我是一名探鬼主播爷肝,決...
      沈念sama閱讀 40,122評(píng)論 3 418
    • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼陆错!你這毒婦竟也來了灯抛?” 一聲冷哼從身側(cè)響起,我...
      開封第一講書人閱讀 38,970評(píng)論 0 275
    • 序言:老撾萬榮一對(duì)情侶失蹤音瓷,失蹤者是張志新(化名)和其女友劉穎对嚼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绳慎,經(jīng)...
      沈念sama閱讀 45,403評(píng)論 1 313
    • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纵竖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
    • 正文 我和宋清朗相戀三年漠烧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靡砌。...
      茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
    • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡已脓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出通殃,到底是詐尸還是另有隱情度液,我是刑警寧澤,帶...
      沈念sama閱讀 35,464評(píng)論 5 344
    • 正文 年R本政府宣布邓了,位于F島的核電站恨诱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏骗炉。R本人自食惡果不足惜照宝,卻給世界環(huán)境...
      茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
    • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望句葵。 院中可真熱鬧厕鹃,春花似錦、人聲如沸乍丈。這莊子的主人今日做“春日...
      開封第一講書人閱讀 31,705評(píng)論 0 22
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽轻专。三九已至忆矛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間请垛,已是汗流浹背催训。 一陣腳步聲響...
      開封第一講書人閱讀 32,848評(píng)論 1 269
    • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宗收,地道東北人漫拭。 一個(gè)月前我還...
      沈念sama閱讀 47,831評(píng)論 2 370
    • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像混稽,于是被迫代替她去往敵國(guó)和親采驻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
      茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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