2015-06-24 76 views
3

我有一個UITextField,我想創建一個自定義類。所以我創建了一個子類爲UITextField的文件。接下來,在自定義類中,我想實現tableView。有點像自動完成textField將子視圖添加到自定義類

我開始創建它,並添加了tableView這樣的:

[self addSubview:self.tableView]; 

當我運行應用程序時,tableViewtextField,所以我只能看到tableView的一部分。我如何將它添加爲subview,以便我可以看到完整的tableView

+0

我想你想自定義UITableView,因爲我看不到你正在使用自定義的UITextField。並試圖清楚地解釋你的要求。 – Mrunal

+0

我很確定UITextField不是那種處理子類很好的類。我建議你使用組合的子類。 使用UITexField和UITableView作爲子視圖創建您自己的UIView子類。 – Andrea

+0

看看http://stackoverflow.com/questions/16686379/textview-with-suggestions-list-in-ios –

回答

1

這是你正在尋找 https://github.com/gaurvw/MPGTextField

什麼此UITextField子類你想要做什麼 - 這是builed的「搜索」功能。 如果你還是想用你自己的, 加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]; 
} 
} 
+0

我試過,沒有tableViewController,只是一個tableView。當我運行應用程序時,我沒有看到任何tableViews – Jessica

+0

你如何設置你的tableview框架? – Doro

+0

CGRectMake(0,0,100,300) – Jessica

0

這將添加tableView作爲textField的子視圖。

self.tableView.frame = CGRectMake(0, CGRectGetHeight(self.bounds), CGRectGetWidth(self.bounds), YOUR_TABLE_HEIGHT); 
[self addSubview:self.tableView]; 
self.clipsToBounds = NO; 

然而,更好的辦法是使tableViewtextField的上海華的子視圖,也就是textFieldtableView應該是兄弟姐妹。

+0

感謝您的回答!當我做'自我'時。clipsToBounds = NO;'然後顯示tableView,但是textField下的單元格不可點擊。 – Jessica

+0

@Jessica那麼爲什麼不嘗試更好的方式?使'textField'和'tableView'兄弟。 – liushuaikobe

+0

你是什麼意思兄弟姐妹!對不起......我是一個新手 – Jessica

相關問題