CCTextField编辑开始后屏幕移动

时间:2014-04-14 15:50:09

标签: ios cocos2d-iphone

我正在使用cocos2d 3.0 RC4。 textField CCTextField收到becomeFirstResponder屏幕中的{{1}}向下移动即使不需要它也是如此。我认为这个动画的目的是显示文本字段,如果它被键盘覆盖。但是如果文本字段在顶部并且有足够的键盘空间,我会得到这个动画事件。 是否可以禁用此类动画?

2 个答案:

答案 0 :(得分:1)

CCTextfield通过focusOnTextField方法移动CCDirector的opengl视图。然后使用endFocusingOnTextField将其移回。

所以,如果你想禁用它,那就是我要开始的地方。我想你也可以调整计算偏移的方式。

答案 1 :(得分:0)

感谢Macgeo的建议,我对CCTextField类进行了以下编辑:

在标题中添加一个属性:

@property (nonatomic,assign) BOOL movesViewOnFocus;

然后像这样编辑实现:

- (void) focusOnTextField
{
    if (!self.movesViewOnFocus) {
        return;
    }

- (void) endFocusingOnTextField
{
    if (!self.movesViewOnFocus) {
        return;
    }

这是一个30秒的黑客,我没有测试过一两次。但默认情况下,它会禁用焦点移动。当然,如果已经选择了文本字段等,打开它时它将无法工作,但至少它是一个开始。我会向Cocos2D开发者推荐它。