iOS實現根據返回資料改變cell元素的座標位置

2022-08-05 05:21:15 字數 1903 閱讀 9577

實現類似於一下設計稿的需求:

其中 認證 商鋪 資質 這三個控制項會根據後端資料來決定是否會顯示.其中任何乙個都有可能沒有

我們可以在vc中的cellforrow方法裡面編寫**,通過判斷來改變控制項的位置,但是將**全部寫入vc中顯得過於繁雜,我們可以參照改變cell中label的高度的方法,將改變的方法寫到自定義cell中

可以看下下面的**:

1,寫在vc中的**

- (void

)viewdidload

#pragma mark - - (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

nsarray *arr =_testarray[indexpath.row];

[cell moveviewwithleft:arr[

0] mid:arr[1] right:arr[2

]];

cell.leftlabel.text = @"左側"

; cell.midlabel.text = @"中間"

; cell.rightlabel.text = @"右側"

;

return

cell;

}- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

自定義cell的**

@property (nonatomic, strong) uiview *leftview;

@property (nonatomic, strong) uilabel *leftlabel;

@property (nonatomic, strong) uiview *midview;

@property (nonatomic, strong) uilabel *midlabel;

@property (nonatomic, strong) uiview *rightview;

@property (nonatomic, strong) uilabel *rightlabel;

@property (nonatomic, strong) uiview *tempview;

- (void)moveviewwithleft:(nsstring *)left mid:(nsstring *)mid right:(nsstring *)right;

-(instancetype)initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifier

return

self;

}- (void)moveviewwithleft:(nsstring *)left mid:(nsstring *)mid right:(nsstring *)right

else

}else

else}}

else

else

}else

else}}

}

最後效果:

簡直簡單的一腿兒~

IOS 改變導航欄返回按鈕的標題例項詳解

ios 改變導航欄返回按鈕的標題例項詳解 前言 下午又找到了乙個新的方法 這個方法不錯 暫時沒有發現異常的地方。新寫的app中需要使用uin igationcontroller對各個頁面進行導航,但由於第一級頁面的title較長,在進入第二級頁面後返回按鈕leftbuttonitem的title就會...

Java實現根據權重優先返回(速度較快)

下面的實現比我最初寫的快了四倍多喲。實現思路 我們知道,在10以內的整數裡,0 3出現的概率是0.3,3 6出現的概率是0.3,6 7出現的概率是0.1,7 9出現的概率是0.2,9 10出現的概率是0.1 上面對應的權重可對應為3 3 1 2 1 所以,當我們需要實現不知道權重到底是多少時,我們只...

根據後台返回的日期排序資料

1 資料陣列套字典 2 message header是本次我們要拿來排序的日期 3 建立乙個model放資料的字段 4 拿日期進行比較,相同的拼接放在同乙個陣列不同的放另乙個陣列,效果圖 還可以這樣 if dic 日期 nsmutablearray dayarray nsmutablearray a...