我想创建一个类似于用户可以在Momento应用程序中添加注释的页面(下面的屏幕截图)。
为此页面构建视图控制器的最佳方法是什么?页面中央有一个类似标签的菜单。在屏幕的上半部分,是一个视图;在下半部分,你得到一个键盘(输入文字时)。
我的需要:输入一个可以有三种类型的文字(三个标签)和一张图片的便条 - >总共四个标签。
在一些分析,护目镜和思考中,我可以想到这些可能性:
选项1 一个带有4个标签的TabBarController(但是我无法将标签放在屏幕中间,就像Momento应用程序和我读过的(在一些Stackoverflow讨论中),Apple指南不建议更改标签栏它的自然位置。
选项2 有一个视图控制器,比如MyController。这将有4个按钮(在屏幕中间彼此相邻排列,因此它们看起来像标签)。 在页面的上半部分有一个UIView对象。 为页面的下半部分添加另一个UIView对象。
根据选择的四个按钮中的哪一个,我改变了顶部和底部显示的内容。底部UIView对象。
选项2对我来说听起来不错。但是,我想知道它是否正确,还是有更好的方法来实现这一目标?请问?
答案 0 :(得分:2)
您应该使用UITextView
并将其设为inputView
作为带有这些按钮的视图。它应该根据您的需要随键盘自动滑动。
希望这有帮助。
干杯!
答案 1 :(得分:0)
好的,这是我要去的地方。两个问题; tabBar和处理键盘。其余的只是推动弹出适当的视图控制器。
TabBar:第一个Apple有一些示例代码处理键盘附件组件,这可能是Momento如何呈现他们的tabBarController之类的东西。这是link。他们的示例以“一次性”方式处理键盘,这个特定的应用程序是独一无二的。
键盘:至于处理键盘的更通用的方法,你可能想看看Michael Tyson在github上的TPKeyboardAvoiding组件。这是link的那个。 TPKeyboardAvoiding相当不错,因为它是一个用于处理UITableView和UIScrollView键盘问题的组件。
我还没有检查过的一件事是Mike的东西是否足够智能,以便在附加附件时处理键盘上的额外高度。 (虽然很聪明......)。
希望这有帮助。