gpt4 book ai didi

objective-c - Objective-C 中的 CGRectMake

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

我正在使用 CGRectMake 在 UITableViewCell 中生成一个标签和一个 textField。这是代码:

   label = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 0, 20)];
label.backgroundColor = [UIColor redColor];

textField =
[[UITextField alloc] initWithFrame:CGRectMake(0, 10, 0, 20)];
textField.backgroundColor = [UIColor blueColor];

[textField setDelegate:self]; // set the delegate to this object
[textField addTarget:self action:@selector(textFieldDidEndOnExit)
forControlEvents:UIControlEventEditingDidEndOnExit];

[self.contentView addSubview:label]; // add label to the cell
[self.contentView addSubview:textField]; // add textField to cell

首先,我的理解是参数定义为
  CGRectMake(x, y, width, height) 

我在单元格中看到的是左侧的标签,右侧是 textField。两者之间有一个很小的空间。

我希望 X,Y 坐标相对于单元格左上角的 0,0 点,正值向下和向右移动。

我对我所看到的感到困惑。

我看到标签位于我的单元格的左侧,但它的 X 值大于 textField 的 X 值。 textField 从标签的右侧开始。

我不明白为什么每个的宽度值都设置为 0(零)。

此外,是什么使 textField 相对于标签的位置,而不是相对于单元格坐标。

这是单元格的简单草图以及我在其中看到的内容(设置背景颜色后,我可以清楚地看到 CGRects 的放置位置):
0,0---------------------------------------------------------------------------------
| |
| ---------------- -----------------------------------------------------------------
| | | |
| | label | | textField
| | | |
| ---------------- -----------------------------------------------------------------
| |
------------------------------------------------------------------------------------

我还注意到每个标签的宽度根据其内容长度而变化。我明白这一点,但我不明白为什么 textField 四处移动,在每种情况下都与标签保持相同的距离。

[编辑] 顺便说一句,“self”是 UITableViewCell 的子类,如果我没有说清楚的话。

最佳答案

enter image description here

关于objective-c - Objective-C 中的 CGRectMake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630518/

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