我有一个UITextField,我想创建一个自定义类。所以我创建了一个子类为UITextField
的文件。接下来,在自定义类中,我想实现tableView
。有点像自动完成textField
。
我开始创建它,然后像这样添加tableView
:
[self addSubview:self.tableView];
当我运行该应用时,tableView
位于textField
,因此我只能看到tableView
的一部分。如何将其添加为subview
,以便我可以看到完整的tableView
?
答案 0 :(得分:1)
这就是你要找的东西 https://github.com/gaurvw/MPGTextField
这个uitextfield子类可以满足您的需求 - 它可以用于“搜索”功能。 如果您仍想使用自己的, 将tableview添加到uitextfield本身,但是像
一样[[self superview] addSubview:tableViewController.tableView];
修改强>
您可以将框架设置为:
CGRect frameForPresentation = [self frame];
frameForPresentation.origin.y += self.frame.size.height;
frameForPresentation.size.height = 200;
[tableViewController.tableView setFrame:frameForPresentation];
将子视图添加到uitextfield的方法是重载layoutSubviews方法并在那里初始化你的tableview:
- (void)layoutSubviews
{
[super layoutSubviews];
if (!self.tableview.superview)
{
[self setupView];
}
}
答案 1 :(得分:0)
这会将tableView
添加为textField
。
self.tableView.frame = CGRectMake(0, CGRectGetHeight(self.bounds), CGRectGetWidth(self.bounds), YOUR_TABLE_HEIGHT);
[self addSubview:self.tableView];
self.clipsToBounds = NO;
然而,更好的方法是将tableView
作为textField
的superView的子视图,即textField
和tableView
应该是兄弟。< / p>