2011-04-30 36 views
0

不幸的是,当我将iphone应用程序很好地组织到控制器和视图中时,我仍然没有看到灯光。让我用一个例子来说明:表格单元作为其内部文本字段的代表吗?

我正在注册页面,其中包含一个表格视图和自定义表格单元格列表。其中一些单元格内有一个文本字段,当用户触摸其中一个时,键盘从底部向上滑动。键盘的右下角有一个返回键,当用户点击此键时,我想让键盘再次滑下。

现在,我在哪里把

- (BOOL) textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return YES; 
} 

?目前,我已经使我的自定义表格单元格符合文本字段委托协议,并已将该方法放在那里,但在视图类中放置类似的内容似乎有点不妥。另一方面,我不觉得它适合在表格视图控制器中。

回答

3

,您可以设置表视图控制器作为文本字段的委托...... 只是删除代码中的自定义单元格在那里你将其设置为代表,而是设置委托在表视图控制器的cellForRowAtIndexPath方法,你实际上创建并返回单元格..

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{    
    static NSString *CellIdentifier = @"CellIdentifier"; 


    MyCustomCell *myCell = (MyCustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (myCell == nil) 
    { 

     myCell = [[[MyCustomCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:CellIdentifier] autorelease]; 
     myCell.myTextField.delegate = self; 
    } 

    //other cell specific code goes here 

    return myCell; 
} 
+0

但对我来说,不能很好地分离代码?或者我在这里弄错了什么? :/ – Stine 2011-05-02 15:09:00

+0

但是这个代码属于控制器..你有什么特别的原因让它不适合在那里? – lukya 2011-05-03 04:11:47

+0

也许他更喜欢让textfield本身控制代表?如果他将子字段UITextfield放入子类,您会如何建议textfield负责删除控件的控件? – Pavan 2014-08-23 19:24:36

相关问题