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