我已经对 UITableView 单元进行了子类化,并且我想以编程方式向它添加 UITextField。我已经弄清楚如何创建文本字段;但是,当设备旋转时,我很难调整它的大小。这是我的代码(请记住,这self
是一个 UITableViewCell 子类)
self.myTextField = [[UITextField alloc] init];
self.myTextField.frame = CGRectMake(400, 6,TEXT_FIELD_WIDTH ,TEXT_FIELD_HEIGHT);
[self addSubview:self.myTextField];
self.myTextField.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin;
我想要的是无论方向如何,文本字段在屏幕中心(点 400 附近)都有一个 x 原点,我希望它保持与屏幕右边缘的距离并扩大其宽度(灵活的左边距)。
如果我注释掉该autoresizingMask
行并以纵向方式启动设备,这会很好。但是,每当我将autoresizing
行添加回来时,它会将文本字段从点 400 移开,即使是纵向。
有什么建议么?我也尝试将文本字段添加到内容视图,但这似乎并没有改变任何东西。
编辑:我考虑过使用 layoutsubviews 方法,但这似乎有点粗糙,因为我必须在一大堆不同的坐标中进行硬编码。因此,如果有另一种方法可以做到这一点,那将是首选。
编辑:例如,为了让文本字段从中间开始,我必须给它一个大约 150 的帧 xOrigin。