Iphone 在分组的UITableView中移动行的位置
iPhone上的Contacts应用程序似乎使用了分组的UITableView,在表外看起来像一个图像,并且图像旁边的文本行被移动。这样地: 如何创建这样的布局,将前三行放置在与其他行不同的X位置 我试图通过覆盖 initWithStyle:reuseIdentifier方法在我的自定义UITableViewCell类中,但运气不好Iphone 在分组的UITableView中移动行的位置,iphone,uitableview,Iphone,Uitableview,iPhone上的Contacts应用程序似乎使用了分组的UITableView,在表外看起来像一个图像,并且图像旁边的文本行被移动。这样地: 如何创建这样的布局,将前三行放置在与其他行不同的X位置 我试图通过覆盖 initWithStyle:reuseIdentifier方法在我的自定义UITableViewCell类中,但运气不好 @implementation MyCustomCell - (id)initWithStyle:(UITableViewCellStyle)style reu
@implementation MyCustomCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
{
CGSize offset = CGSizeMake(30, 30);
CGRect originalFrame = self.frame;
CGFloat newX = originalFrame.origin.x + offset.width;
CGFloat newWidth = originalFrame.size.width - offset.width;
CGRect newFrame = CGRectMake(newX, originalFrame.origin.y,
newWidth, originalFrame.size.height);
self.frame = newFrame;
}
return self;
}
@end
请尝试在您的表视图委托上实现。不确定这是否是最合适的方法,但与其在init方法中更改框架维度,不如替代MyCustomCell的“LayoutSubview” 这对我很有用:
- (void)layoutSubviews
{
[super layoutSubviews];
CGRect origFrame = self.frame;
CGSize offset = CGSizeMake(30, 30);
CGFloat newX = originalFrame.origin.x + offset.width;
CGFloat newWidth = originalFrame.size.width - offset.width;
CGRect newFrame = CGRectMake(newX, originalFrame.origin.y,
newWidth, originalFrame.size.height);
self.frame = newFrame;
}
我不想缩进单元格的内容,我想把表格的整行移过去。绘制的边框也会反映这一点,在行的左侧会有一些空间。我认为它可能会缩进单元格边框,类似于“单击此处显示删除按钮”的工作方式。我想不是。