2012-02-16 115 views
1

我正在开发一个应用程序,一切工作正常,除了一个,即当用户在家时按下键盘处于活动状态并再次打开我的应用程序时,视图框边界正在改变并移出界限。我的预期结果是键盘应该处于暂停状态,或者在键盘处于非活动状态时从背景回到前景时,视图应保持在相同的位置。当用户按下主页按钮时悬浮键盘?

我希望人们了解我的情况并尽快回复。

谢谢。

回答

1

我已经找到了解决我的问题,我希望人们可以使用我的解决方案。以下是我所做的代码,

在您的RootViewController文件中添加下面的代码行(即当您打开APP时首先会出现哪个视图)。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedNotification:) name:UIApplicationDidEnterBackgroundNotification object:nil]; 

,然后添加一个私有方法如下

- (void) receivedNotification:(NSNotification *) notification 
{ 
if ([username isFirstResponder]) 
{ 
    [username resignFirstResponder]; 
} 
else if ([password isFirstResponder]) 
{ 
    [password resignFirstResponder]; 
} 
} 

我希望它帮助一些身体,感谢ü。

更多帮助,请参阅所提到的链接,

+1

更改“ - (void)receivedNotification:(NSNotification *)notification”with“ - (void)applicationDidEnterBackground: (UIApplication *)应用程序“观察者是不必要的 – valexa 2012-02-16 21:43:45

1

没有在应用程序委托

- (void)applicationDidEnterBackground:(UIApplication *)application 

当您按下home键这种方法烧制的方法。 在这个方法中做了必要的修改(textField resignFirstResponder),它应该可以正常工作,我猜。这里

编辑是在你有你的文本字段创建一个方法

-(void)performWhenHomeBtnprssed 
{ 
[MytextField resignFirstResponder]; 
} 

然后在

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    [myClassObj performWhenHomeBtnprssed]; 
} 

还我同意你应该找到@valexa类的代码

问题的根本原因

+0

感谢你的建议,我也知道,当用户按下home键的奔跑背景/前景操作,但如何辞职在这些方法中的文本字段,请你能给出一个示例代码或代码片断。 – 2012-02-16 16:46:40

0

在软件开发中,解决根本原因总是比修补效果更好,在您的情况下视图定位存在问题,并且您应该解决这个问题,前景/后台循环不应影响视图定位。

+0

应用程序进入后台/前台时应如何定位视图。你能否给我举个例子。感谢您的建议。 – 2012-02-16 16:44:28

+0

正确™.......如果它们因前景/背景循环而重新定位,那么您正在做出错误 – valexa 2012-02-16 21:39:54