ios – UITableViewCell将消失

ios – UITableViewCell将消失,第1张

概述我制作了一个UITableView并包含一些自定义UITableViewCells,在第一个单元格中(例如名为cell0)有一些UITextFields用于输入,当我滚动tableView时,cell0将从屏幕顶部消失,那么我如何获取UITextField的文本在cell0? cellForRowAtIndexPath将返回nil. 根据 Apple Documentation关于cellForR 我制作了一个UItableVIEw并包含一些自定义UItableVIEwCells,在第一个单元格中(例如名为cell0)有一些UITextFIElds用于输入,当我滚动tableVIEw时,cell0将从屏幕顶部消失,那么我如何获取UITextFIEld的文本在cell0?

cellForRowAtIndexPath将返回nil.

解决方法 根据 Apple Documentation关于cellForRowAtIndexPath:,它返回“表示表格的单元格的对象,如果单元格不可见或者indexPath超出范围,则返回nil”.

根据MVC Pattern,UItableVIEwCell是一个视图.所以我更喜欢维护一个模型对象 – 也许它就像Nsstring实例一样简单 – 如果我是你的话,将文本保存在单元格中.您可以通过向控制器添加UITextFIEldTextDIDChangeNotification键的观察者来观察UITextFIEld的更改.

- (voID)textFIEldDIDChangeText:(NSNotification *)notification{    // Assume your controller has a Nsstring (copy) property named "text".    self.text = [(UITextFIEld *)[notification object] text]; // The notification's object property will return the UITextFIEld instance who has posted the notification.}- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // Dequeue cell...    // ...    if (!cell)    {        // Init cell...        // ...        [[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(textFIEldDIDChangeText:) name:UITextFIEldTextDIDChangeNotification object:yourTextFIEld];    }    // Other code...    // ...    return cell;}

不要忘记删除-dealloc中的观察者.

总结

以上是内存溢出为你收集整理的ios – UITableViewCell将消失全部内容,希望文章能够帮你解决ios – UITableViewCell将消失所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1096213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存