Iphone 编辑时如何在UITableViewCell中缩进自定义uilabel
我有一个自定义的uitableviewcell,我想在启用此选项时缩进它:Iphone 编辑时如何在UITableViewCell中缩进自定义uilabel,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我有一个自定义的uitableviewcell,我想在启用此选项时缩进它: [self.boatsDisplay setEditing:是动画:是] 谁能给我一个提示或一些指导 谢谢您将需要子类化UITableViewCell并覆盖-layoutSubviews。当单元格的编辑位设置为“是”时,将自动调用-layoutSubviews。在-layoutSubviews中所做的任何更改都会自动设置动画 以这个例子为例 - (void)layoutSubviews { [super layo
[self.boatsDisplay setEditing:是动画:是]代码>
谁能给我一个提示或一些指导
谢谢您将需要子类化UITableViewCell
并覆盖-layoutSubviews
。当单元格的编辑位设置为“是”时,将自动调用-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;
}
您需要子类化UITableViewCell
并覆盖-layoutSubviews
。当单元格的编辑位设置为“是”时,将自动调用-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:indentationlevelforrowatinexpath:
方法:
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
if(tableView.editing == YES){
return 1; // or higher integer
} else {
return 0;
}
}
如果只想检查自定义单元格,则可以在if条件中添加&&[[tableView CellForRowatineXpath:indexPath]类:yourTableViewCell]
。在UITableViewDelegate
中,可以使用tableView:IndentationLevelForRowatineXpath:
方法:
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
if(tableView.editing == YES){
return 1; // or higher integer
} else {
return 0;
}
}
如果只想检查自定义单元格,则可以在if条件中添加&&[[tableView cellForRowAtIndexPath]isKindOfClass:yourTableViewCell]