我有一個子類UITableViewCell。我正在動態添加一個UILabel和UIButton。拆分UILabel和UIButton之間單元格的全部內容
現在我已經覆蓋了layoutSubviews並且設置了x,y絕對的按鈕和標籤。爲了能夠適應屏幕布局以及更大的屏幕,我希望能夠自動完成。有沒有辦法讓標籤「浮動左」,按鈕是「浮動右」?理想情況下,標籤應該用盡按鈕不需要的所有空間(大多數情況下,按鈕的大小將固定)。
我有一個子類UITableViewCell。我正在動態添加一個UILabel和UIButton。拆分UILabel和UIButton之間單元格的全部內容
現在我已經覆蓋了layoutSubviews並且設置了x,y絕對的按鈕和標籤。爲了能夠適應屏幕布局以及更大的屏幕,我希望能夠自動完成。有沒有辦法讓標籤「浮動左」,按鈕是「浮動右」?理想情況下,標籤應該用盡按鈕不需要的所有空間(大多數情況下,按鈕的大小將固定)。
你可以嘗試這樣的事情假設cellLbl是的UILabel和cellBtn是的UIButton:
- (void) layoutSubviews
{
CGRect rctFrm;
CGFloat flW;
CGFloat flH;
int iSpacing = 4; // This could be fixed for a percentage of cell width
[super layoutSubviews];
flW = self.contentView.bounds.size.width;
flH = self.contentView.bounds.size.height;
rctFrm = self.cellBtn.frame;
flW -= rctFrm.size.width + iSpacing;
rctFrm.origin.x = flW; // Right justify button
rctFrm.origin.y = (flH - rctFrm.size.height)/2; // Center button vertically
[self.cellBtn setFrame:rctFrm];
rctFrm = self.cellLbl.frame;
rctFrm.origin.x = iSpacing;
rctFrm.size.width = flW - (2 * iSpacing);
// You can adjust UILabel vertical position and height if desired
[self.cellLbl setFrame:rctFrm];
}