時如何縮進自定義的UILabel在一個UITableViewCell我有一個自定義的UITableViewCell,我想,當我打開這個縮進:編輯
[self.boatsDisplay setEditing:YES animated:YES];
任何人都可以提供我一個提示,或一些指導?
感謝
時如何縮進自定義的UILabel在一個UITableViewCell我有一個自定義的UITableViewCell,我想,當我打開這個縮進:編輯
[self.boatsDisplay setEditing:YES animated:YES];
任何人都可以提供我一個提示,或一些指導?
感謝
你需要繼承UITableViewCell
,並覆蓋-layoutSubviews
。當單元格的編輯位設置爲YES時,將自動調用-layoutSubviews
。在-layoutSubviews
內進行的任何更改都會自動生成動畫。
考慮這個例子
- (void)layoutSubviews
{
[super layoutSubviews];
CGFloat xPosition = 20.0f; // Default text position
if (self.editing)
xPosition = 40.0f;
CGRect textLabelFrame = self.textLabel.frame;
textLabelFrame.origin.x = xPosition;
self.textLabel.frame = textLabelFrame;
}
在你UITableViewDelegate
可以使用tableView:indentationLevelForRowAtIndexPath:
方法:
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
if(tableView.editing == YES){
return 1; // or higher integer
} else {
return 0;
}
}
,如果你想查詢你的自定義單元格只可以在如果條件添加&&[[tableView cellForRowAtIndexPath:indexPath] isKindOfClass:yourTableViewCell]
。