gpt4 book ai didi

iphone - 如何使用 autoresizingmask 来阻止 UITableViewCell 的组件在编辑时消失? (iPhone/iPad)

转载 作者:行者123 更新时间:2023-11-28 22:55:45 25 4
gpt4 key购买 nike

我有一个包含 3 个 UILabel 的自定义 UITableViewCell。其中两个标签与单元格的左侧对齐,另一个与右侧对齐。这是它的样子:

enter image description here

我遇到的问题是当 UITableView 处于编辑模式时。我一直试图通过使用 AutoResizingMasks 来阻止右侧的标签从屏幕一侧消失,但我没有任何运气。这是发生的事情:

enter image description here

我一直在研究的代码来 self 的子类 UITableViewCell。这是我的代码:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

if (self)
{
// Setup the cells accessory
self.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

// Setup the cell background
self.backgroundView = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"Plain_Cell.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0]];

// Setup the Main label (fruit names)
mainLabel = [[UILabel alloc] init];
mainLabel.font = [UIFont systemFontOfSize:25];
mainLabel.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:mainLabel];

// Setup the dates label
datesLabel = [[UILabel alloc] init];
datesLabel.font = [UIFont systemFontOfSize:14];
datesLabel.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:datesLabel];

// Setup the milage label
distanceLabel = [[UILabel alloc] init];
distanceLabel.textAlignment = UITextAlignmentRight;
distanceLabel.font = [UIFont systemFontOfSize:14];
distanceLabel.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:distanceLabel];
}

return self;
}


- (void)layoutSubviews
{
[super layoutSubviews];

mainLabel.frame = CGRectMake(10, 10, 280, 39);
datesLabel.frame = CGRectMake(10, 58, 184, 21);
distanceLabel.frame = CGRectMake(205, 58, 85, 21);

mainLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin;
datesLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin;
distanceLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;
}

注意:请向下滚动以获取更多代码!

虽然我没有太多运气。有人可以帮帮我吗?

最佳答案

您将文本右对齐,而不是标签。试试这个:

...
// Setup the mileage label
distanceLabel = [[UILabel alloc] init];
distanceLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
distanceLabel.textAlignment = UITextAlignmentRight;
distanceLabel.font = [UIFont systemFontOfSize:14];
distanceLabel.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:distanceLabel];

这会将右边距锁定在原处,并允许左边距在 View 缩小时缩小。

关于iphone - 如何使用 autoresizingmask 来阻止 UITableViewCell 的组件在编辑时消失? (iPhone/iPad),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com