Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 创建固定UITextField-Obj C_Ios_Objective C_Uitableview - Fatal编程技术网

Ios 创建固定UITextField-Obj C

Ios 创建固定UITextField-Obj C,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我有一个填充单元格的视图。当单击单元格时,我实际填充文本字段,我的问题是如何获得y坐标,以便根据用户当前在边界中的位置定位UITextField?或者,将UITextField设置为固定位置,以便在tableview中向下滚动时,UITextField始终保持在同一位置 我不介意任何一种选择,但最好的方法是什么 更新: 好的,这就是我要问的。当您用单元格填充tablview时,它超出了屏幕的物理可视范围,您会向下滚动以查看其他单元格,对吗?因此,如果我使用: float width = [[UI

我有一个填充单元格的视图。当单击单元格时,我实际填充文本字段,我的问题是如何获得y坐标,以便根据用户当前在边界中的位置定位UITextField?或者,将UITextField设置为固定位置,以便在tableview中向下滚动时,UITextField始终保持在同一位置

我不介意任何一种选择,但最好的方法是什么

更新:

好的,这就是我要问的。当您用单元格填充tablview时,它超出了屏幕的物理可视范围,您会向下滚动以查看其他单元格,对吗?因此,如果我使用:

float width = [[UIScreen mainScreen] bounds].size.width;
self.cardnameTextField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, width, 25)];

0=y位置。因此,这将填充在UiTableview顶部的0,0位置,该位置将位于UiTableview的最左上方。现在我要问的是,假设我向下滚动选择一个超出物理屏幕边界的单元格,并且我选择了该单元格,它将填充UITableView 0,0最左上方的UITextField,而不是物理屏幕最左上方的UITextField。如何获取物理屏幕的y坐标,以便定位UITextField,以便用户始终可以看到它。

即使有了您的评论,也不清楚您在问什么

如果你想知道如何将单元格的位置转换成屏幕坐标,那就很容易了。UIView有一整套方法可以将坐标从一个视图的坐标系转换为另一个视图的坐标系。只要这两个视图是同一视图层次结构的一部分,它们就可以工作。您可以获取单元格的contentView.bounds.origin,它将位于内容视图的坐标系中,并将位置转换为视图控制器内容视图的坐标系:

CGPoint cellOrigin = cell.contentView.bounds.origin;

cellOrigin = [self.view convertPoint: cellOrigin fromView: cell.contentView];
上面的代码将为您提供单元格原点的坐标,即视图控制器内容视图的坐标


如果这不是你要问的问题,那么你需要更新你的问题,以明确你在问什么。

好的,我刚想出来


因此,当您执行[self.viewaddSubview:self.cardnameTextField]时;这将把它定位在UITableView中,我需要找到实际屏幕最顶端位置的y坐标。但是如果我运行[self.view.windowaddsubview:self.cardnameTextField];它将其设置为实际窗口,使其具有几乎CSS的位置功能:固定;这正是我想要的。

我很难理解你在这个问题上的要求。你能想象一下吗?@ianmacdonald好吧,假设你在看一张有20个单元格的桌子。您可以在屏幕上向下滚动以查看所有单元格是否正确?当你点击列表底部的一个单元格时,你的位置会在y坐标上相当低的位置。我的问题是,如何获得用户在屏幕上看到的坐标。您可以使用[UIView convertRect:fromView]将坐标从单元格视图转换到视图控制器的视图空间,但可能有更好的方法获得最终结果。你能画出一幅图来说明这些UITextFields的用途和显示位置吗?@IanMacDonald请检查一下。你需要仔细阅读视图层次结构才能更好地理解这一点。@IanMacDonald yes发现这一点是以牺牲我的代表为代价的。谁否决了我,为什么?根据我所能理解的,我尽力回答了这个非常模糊的问题。我想我的理解有误,但那不是我的错。。。