gpt4 book ai didi

ios - 无法让 UILabels 出现在动态创建的 UIViews 上

转载 作者:行者123 更新时间:2023-11-29 12:38:43 24 4
gpt4 key购买 nike

尝试做一些相当简单的事情。我正在创建一行放置在水平滚动 UIScrollView 中的矩形。矩形布局完美。但是,每个矩形上都有一个 UILabel。仅显示第一个标签。其他人都不是。此处的红色矩形是基本的 CGRect。黄色是我调试标签是否正确绘制的。如您所见,仅显示第一个标签:

enter image description here

self.dayButtonsArray = [[NSMutableArray alloc] initWithCapacity:21];

CGFloat buttonSpacing = 2.0f;
CGFloat buttonWidth = 50.0f;
CGFloat buttonHeight = self.contentView.frame.size.height;
CGFloat startX = self.contentView.frame.origin.x;
CGFloat thisX = startX;

for (int i=0; i<21; i++) {

CGRect frame = CGRectMake(thisX, self.contentView.frame.origin.y, buttonWidth, buttonHeight);
UIView *thisButton = [[UIView alloc] initWithFrame:frame];

// set up a label for each view
UILabel *label = [[UILabel alloc] initWithFrame:frame];
[label setTextColor:[UIColor blackColor]];
label.font = [UIFont fontWithName:DEFAULT_FONT size:14];
label.textAlignment = NSTextAlignmentCenter;
[label setText:[NSString stringWithFormat:@"DAY %d", i+1]];
[labelsArray addObject:label];

[thisButton setBackgroundColor:[UIColor redColor]];

// now add these elements
[thisButton addSubview:label];
[thisButton bringSubviewToFront:label];
[self.contentView addSubview:thisButton];
[self.contentView bringSubviewToFront:thisButton];
[self.dayButtonsArray addObject:thisButton];

CGRect contentSize = self.contentView.frame;
contentSize.size.width = ((i+1) * buttonWidth) + (i * buttonSpacing);
self.contentView.frame = contentSize;

thisX += buttonWidth + buttonSpacing;
}

最佳答案

您对 UIView 和 UILabel 使用相同的 frame

CGRect frame = CGRectMake(thisX, self.contentView.frame.origin.y, buttonWidth, buttonHeight);
UIView *thisButton = [[UIView alloc] initWithFrame:frame];

// set up a label for each view
UILabel *label = [[UILabel alloc] initWithFrame:frame]; <-- this frame should have an origin.x of 0.0

label 的 x 原点应引用 thisButton 进行调整,因为您要将其添加为其 subview 。

关于ios - 无法让 UILabels 出现在动态创建的 UIViews 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572822/

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