OC-地圖視圖抽屜工具:SegmentBoxView

SegmentBoxView.gif

一、 SegmentBoxView 結(jié)構(gòu)

image.png

二、 SegmentBoxView 使用

1、 自定義SegmentBoxViewController 子類

2、 設(shè)置子類屬性 scrollViewVc、backgroundVc

3、 設(shè)置boxView、 scrollViewVc、backgroundVcframe

4、 設(shè)置boxViewconfig,調(diào)整a/b/c/d/e線的位置

4、 調(diào)用[self.boxView reloadUI]; 刷新UI

三、 吸附線相關(guān)設(shè)置

代碼示例:

self.boxView.config.segmentPointY_A = 100;// a線
self.boxView.config.segmentPointY_C = self.view.frame.size.height * 0.3;//C線
self.boxView.config.segmentPointSpaceE_F = 300;//e線
[self.boxView reloadUI];

結(jié)構(gòu)

/*
 ______________________________> boxView 頂部
 |           ↓           |
 |—————— top吸附點 ———————|——a——> realSegmentPointY_A
 |           ↑           |
 |           ↑           |
 |           ↑           |
 |-----------------------|--b--> realsegmentPointSpace_A_C
 |           ↓           |
 |—————— mid吸附點 ———————|——c——> segmentPointY_C
 |           ↑           |
 |-----------------------|--d--> segmentPointY_D
 |           ↓           |
 |           ↓           |
 |           ↓           |
 |                       |
 |———— bottom吸附點 ——————|——e——> realSegmentPointY_E
 |           ↑           |
 |           ↑           |
 |           ↑           |
 |_______________________|——f——> boxView 底部
 * 1、 ↑↓: 吸附點流向
 * 2、 [a,b) 吸附 realSegmentPointY_A
 * 3、 [b,d] 吸附 segmentPointY_C
 * 4、 (d,f] 吸附 realSegmentPointY_E
 */

屬性

屬性 類型 讀寫權(quán)限 描述
segmentPointY_A CGFloat Read/Write scrollContainerView頂部吸附的距離,默認為0。應(yīng)小于 segmentPointY_C。當segmentPointY_A == segmentPointY_C時,segmentPointY_C即為top吸附,狀態(tài)為 SegmentBoxViewFixedPointStatus_c。
realSegmentPointY_A CGFloat Read-Only 計算后的 segmentPointY_A
segmentPointSpace_A_C CGFloat Read/Write c線的上吸附范圍,默認為100。
realSegmentPointY_B CGFloat Read-Only a線與b線的最大y值,注意a線與b線的關(guān)系。
segmentPointY_C CGFloat Read/Write mid吸附點c線的默認值,為self.frame.size.height * 0.3。
segmentPointSpace_C_D CGFloat Read/Write c線的下吸附范圍,默認為100。
realSegmentPointY_D CGFloat Read-Only e線與d線的最小y值,注意e線與d線的關(guān)系。
realSegmentPointY_E CGFloat Read-Only self.height - segmentPointSpaceE_F與c線的最大y值,注意e線與c線的關(guān)系。
segmentPointSpaceE_F CGFloat Read/Write e線到f線的距離,默認為200。
ePullUpTopSpace CGFloat Read/Write 手勢向上拉時,e線到超過這個距離就會吸附到c線。即boxView.frame.size.height - self.config.segmentPointSpaceE_F + self.config.ePullUpTopSpace,默認為100。
verticalOffset CGFloat Read/Write 手勢垂直判定方向的滾動距離,默認為10。
isShowDebugLine BOOL Read/Write 是否展示輔助線,默認為NO

四、demo

https://github.com/LiPengYue/SegmentBoxView.git

最后編輯于
?著作權(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)容

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