Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add subview to a custom class

I have a UITextField that I want to create a custom class on. So I created a file with a subclass of UITextField. Next, in the custom class, I want to implement a tableView. Kind of like a auto-complete textField.

I started creating it, and added the tableView like this:

[self addSubview:self.tableView];

When I run the app, the tableView is in the textField, so I can only see part of the tableView. How can I add it as a subview so I can see the full tableView?

like image 777
Jessica Avatar asked Nov 18 '25 00:11

Jessica


1 Answers

This is what you are looking for https://github.com/gaurvw/MPGTextField

This uitextfield subclass does what you want - it's builed for 'search' feature. If you still want to use your own, add tableview not to uitextfield itself, but like

[[self superview] addSubview:tableViewController.tableView];

EDIT:

you can set frame as:

 CGRect frameForPresentation = [self frame];
 frameForPresentation.origin.y += self.frame.size.height;
 frameForPresentation.size.height = 200;
 [tableViewController.tableView setFrame:frameForPresentation];

The way to add subview to uitextfield is to overload layoutSubviews method and init your tableview there:

- (void)layoutSubviews 
{ 
[super layoutSubviews]; 
if (!self.tableview.superview) 
{ 
[self setupView]; 
} 
}
like image 62
Doro Avatar answered Nov 19 '25 13:11

Doro



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!