首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现类似Facebook或Instagram的新闻提要评论页面

如何实现类似Facebook或Instagram的新闻提要评论页面
EN

Stack Overflow用户
提问于 2014-09-25 17:55:04
回答 1查看 1K关注 0票数 3

Instagram和Facebook都允许用户对新闻提要发表评论。在评论场景中,他们基本上有一个包含所有评论的UITableView和一个“脚注”,用户可以在其中输入评论并发布评论。所以“脚注”是一个UIView或UIToolBar,它有一个UITextField/UITextView和一个UIButton。非常简单的东西从它的外观。嗯,我一直在尝试实现它,而键盘却没有合作。我需要键盘不要隐藏“页脚”。特别是在现在的iOS 8中,键盘附带了一个建议工具栏,用户可以选择显示或隐藏。所有这些交互使我的“页脚”很难保持在键盘上方,而用户正在输入文本。每次我想找到解决方案的时候,我都会发现很多错误。

  • 在一个实现中,我使用键盘通知来侦听键盘何时升降(部分基于iPhone Keyboard Covers UITextField)。这种实现的问题是,当键盘出现时和“页脚”从屏幕底部爬到键盘顶部有大约1到2秒的延迟。第二个问题是,当用户在输入时拖动建议工具栏以显示或隐藏它时,它会导致我的“脚注”以不可预测的方式移动:这意味着我需要一些静态变量来仔细跟踪与建议工具栏的累积交互,以修复该错误。还请注意,我将“脚注”放在引号中。这是因为我指的不是UITableView页脚。而是按照UITableView, make footer stay at bottom of screen?的建议,在表视图下创建一个视图。
  • 我尝试过的另一个实现是使用“脚注”和键盘ToolBar。当用户单击页脚的UITextField时,这将导致键盘以inputAccessoryView的形式显示页脚的副本。这基本上是为了在视觉上欺骗用户,让他们认为这是与键盘无缝攀爬的同一页脚。但在现实中,我使用两个复合视图:一个“页脚”和一个键盘工具栏。我遇到的第一个问题是,我似乎无法以编程方式使工具栏文本字段成为第一个响应者。实际上,这在ios-7中是有效的。但由于我更新到iOS-8,它不工作。所以如果我做了footerTextField.inputAccessoryView=keyboardToolBar,然后在textfield委托方法中检查if(textField==footerTextField){[tooBarTextField becomeFirstResponder];},iOS-8只是忽略了整个事情,或者更糟糕的是,完全忽略了键盘和工具栏,这样实际上当我单击footerTextField时,键盘就不会出现,因为显示和删除发生了,所以quickly.So再次在iOS-7中起作用,但在iOS-8中却不起作用。
  • 第三种方法是使父视图成为TPKeyboardAvoidingScrollView,这样我就有父视图、子视图UITableView和“页脚”。在这里,虽然TPKeyboardAvoiding在应用程序中的其他场景中为我工作,但无论什么原因,它在这里都不起作用。我猜是因为我使用UITableView作为UIScrollView的子级之一。
  • 第四种方法是使我的“脚注”成为实际的UITableView节页脚;节页脚,因为我希望它在底部浮动。节页脚的问题是,它们不粘在底部,这给您滚动表时的视觉上不稳定的用户体验。

好吧,所以我说了很多。最后,是否有人实现了类似Facebook/Instagram的NewsFeed评论场景?如果是的话,你能帮帮我吗?

简单地说: Facebook/Instagram输入文本字段与文本一起增长;无论键盘的建议工具栏是显示还是隐藏,都要贴在键盘的顶部;键盘离开时,要贴在屏幕的底部。

EN

回答 1

Stack Overflow用户

发布于 2015-04-17 17:54:35

SlackTextViewController似乎符合您的所有要求,并且编写得非常好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26045048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档