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

image.png
二、 SegmentBoxView 使用
1、 自定義SegmentBoxViewController 子類
2、 設(shè)置子類屬性 scrollViewVc、backgroundVc
3、 設(shè)置boxView、 scrollViewVc、backgroundVc的frame
4、 設(shè)置boxView的config,調(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。 |