2012-03-22 72 views
4

我有一个TabBar应用程序,其中一个选项卡嵌入在NavigationController中。这个特定的视图是一个包含文本字段的表单。我想让我们TPKeyboardAvoidingScrollView在键盘移动到视图中时向上移动UITextFields。我遵循Github页面上的指示,但它根本不起作用。移动TPKeyboardAvoidingScrollView不起作用的键盘文本字段

这是我已经按照使用说明进行:

  1. 添加了TPKeyboardAvoidingScrollView.h和.M到我的项目
  2. 添加一个UIScrollView对故事板视图(Xcode的4.3.1)
  3. 选择了滚动,并在检查改变了它的类TPKeyboardAvoidingScrollView
  4. 感动了所有我的文本框入的UIScrollView

这并没有工作...所以看着示例代码我尝试添加一些更多的东西:

  1. 在我加入.h文件中我的视图控制器:

    @class TPKeyboardAvoidingScrollView;

  2. 和链接被添加,导致这行代码的滚动型:

    @property(弱,非原子)IBOutlet中TPKeyboardAvoidingScrollView *滚动视图;

  3. 将TPKeyboardAvoidingScrollView.h导入到我的控制器.m文件中。

但仍然其他人似乎赞美的下拉代码不适用于我。

请有人指出我的无能吗? 预先感谢您可以提供的任何援助...

回答

6

尝试使用这个类以及和 浪费时间的东西一个很好的协议是应该的时候我就遇到了这个确切的问题节省时间。

我在TPKeyboardAvoidingScrollView中设置了断点,并注意到它们都没有被击中。在尝试了几件事情后,我发现在调试窗口中有一些输出:
“Unknown class TPKeyboardAvoidingScrollView in Interface Builder file” error at runtime

我发现了一些有用的信息in this thread。基本上它似乎是文件被优化出来,因为它从来没有实际上在任何地方的代码中使用。

为了得到它的工作我做了两件事情,其中​​的任何或全部可能是必要的:

  1. 点击项目大纲TPKeyboardAvoidingScrollView类。如果隐藏了Xcode,请在Xcode右侧显示“实用程序”面板,并确认这些文件实际上有一些目标成员资格,否则将不会生成。
  2. 从您正在测试的设备或模拟器中删除应用程序,以便获得新的负载。
  3. 重建项目并加载到设备/模拟器上。错误应该消失,你应该能够在TPKeyboardAvoidingScrollView类中找到断点,它现在应该都可以工作。

作为替代方案,您可能需要查看solution provided here by jhoule。要点是你添加一个电话:
[TPKeyboardAvoidingScrollView class];
到你的应用程序代表或代码中的其他地方,以确保代码被引用并且没有被优化。

希望有所帮助。

0

你必须做的是去主要故事板并添加缺少的滚动视图的约束,或者你可以点击故事板上的滚动视图并转到xcode菜单顶部的编辑器并去解析自动布局问题和点击重置建议约束。运行该项目。祝你好运。