我正在使用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
Run Code Online (Sandbox Code Playgroud)
首先,我的理解是将参数定义为
CGRectMake(x, y, width, height)
Run Code Online (Sandbox Code Playgroud)
我在单元格中看到的是左侧的标签,右侧是textField.两者之间有一个小空间.
我希望X,Y坐标相对于单元格左上角的0,0点,正值向下和向右.
我对所见所闻感到困惑.
我看到标签位于我单元格的左侧,但它的X值大于textField的X值.textField从标签的右侧开始.
我不明白为什么每个的宽度值都设置为0(零).
此外,是什么使textField采取相对于标签的位置,而不是相对于单元格坐标.
这是一个简单的单元格草图和我在其中看到的内容(设置了背景颜色,我可以清楚地看到CGRects的放置位置):
0,0---------------------------------------------------------------------------------
| |
| ---------------- -----------------------------------------------------------------
| | | |
| | label | | textField
| | | |
| ---------------- -----------------------------------------------------------------
| |
------------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我还注意到每个标签的宽度根据其内容长度而变化.我理解这一点,但我不明白为什么textField会四处移动,在每种情况下与标签保持相同的距离.
[编辑]顺便说一句,"self"是UITableViewCell的子类,如果我没有说清楚的话.
Ara*_*han 13

| 归档时间: |
|
| 查看次数: |
74443 次 |
| 最近记录: |