優(yōu)惠券功能總結(jié)

優(yōu)惠券功能總結(jié)

注:項目添加了優(yōu)惠券功能,在此總結(jié)經(jīng)驗

界面主要是:UITableView
優(yōu)惠卷的類型有4種,其中3種是樣式相同,背景顏色不同,以下稱為A1,A2,A3。另一種稱為B。

開始的時候我是打算就用一個UITableViewCell類來完成這4種樣式的。但是只能在拿到數(shù)據(jù)之后才能知道具體類型,所以我在給cell賦值數(shù)據(jù)的API里面創(chuàng)建布局控件。其中使用了CAGradientLayerCAShapeLayer

出現(xiàn)了一個奇怪的顯示問題。
問題:在cell的數(shù)量較少,不能被tableView復(fù)用的時候,顯示正常。在cell的數(shù)量較多,tableView能復(fù)用cell的時候,子layer的路徑會出現(xiàn)變化

--

我并沒解決好這個問題。而是使用了另一個類來搭建B的樣式。

--

后來我想了一下,用一個類來做也可以,使用兩個注冊cellID。
UITableViewCell- initWithStyle:reuseIdentifier:方法中
根據(jù) cellID 來搭建不同的樣式。

--

實現(xiàn)方法:

創(chuàng)建一個優(yōu)惠券基類 : CouponBaseCell
A樣式的優(yōu)惠券 : ACouponBaseCell : CouponBasseCell
B樣式的優(yōu)惠券 : BCouponBaseCell : CouponBaseCell

CouponBaseCell 聲明 優(yōu)惠券的相應(yīng)API

/// 給優(yōu)惠券數(shù)據(jù)
- (void)setCoponData:(CouponInfo *)data;
/// 設(shè)置優(yōu)惠券類型
-  (void)setCoponType:(CouponType)type;
/// 設(shè)置優(yōu)惠券狀態(tài)
-  (void)setCoponState:(CouponState)state;

聲明一個點擊優(yōu)惠券的協(xié)議 Protocol
CouponBaseCellDelegate

///點擊優(yōu)惠券
- (void)didSelecteCoupon:(CouponBaseCell *)copon;

CouponBaseCell 添加一個遵守CouponBaseCellDelegate協(xié)議的 id 類型的屬性。

@property(nonatomic, weak) id <CouponBaseCellDelegate>delegate;

ACouponBaseCellBCouponBaseCell分別根據(jù)對應(yīng)的需求實現(xiàn)這些API

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、簡介 <<UITableView(或簡單地說,表視圖)的一個實例是用于顯示和編輯分層列出的信息的一種手段 <<...
    無邪8閱讀 10,962評論 3 3
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,211評論 3 119
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,673評論 1 32
  • this的指向是不確定的,可以動態(tài)改變,這樣設(shè)計可以讓代碼更加靈活,復(fù)用性也更高,由于this的指向是不確定的,如...
    劉圣凱閱讀 226評論 0 0
  • 不知道是什么原因?近一段時期,總是會這樣!一陣子激情滿懷,動力十足,什么都想去實現(xiàn);過了些時日,又有些百無聊賴,覺...
    小城情懷閱讀 943評論 0 0

友情鏈接更多精彩內(nèi)容