Tag: 第一响应者

iOSunit testing:如何设置/更新/检查firstResponder?

你如何编写第一响应unit testing? 我试图写一个testing来确认一个方法将焦点推进到下一个文本字段。 controller是UIViewController的后代。 但是这个探索性testing失败了: – (void)testFirstResponder { [controller view]; [[controller firstTextField] becomeFirstResponder]; STAssertTrue([[controller firstTextField] isFirstResponder], nil); } 第一行导致视图被加载,以便其网点到位。 文本字段是非零。 但testing永远不会通过。 我猜想, becomeFirstResponder不会立即设置第一响应者,但安排它以后。 那么是否有一个很好的方法来写一个unit testing呢? 从已接受的答案中的评论中拉出答案让事情运行一小段时间: [[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];

即使UIResponder对象退出其第一响应者状态,键盘也不会closures

我设法自定义UIAlertView把两个UITextFields作为子视图里面,但在这样做的键盘坏了。 当我试图驳回它辞职的第一响应者,它没有做任何事情只是呆在那里。 这是我的代码,只有相关的部分(这是我放在UIAlertView子类): #pragma mark – #pragma mark UIView – (void)layoutSubviews { [super layoutSubviews]; NSArray *subviews = [self subviews]; UIView *backgroundView = [subviews objectAtIndex:0]; CGRect firstFrame = [[subviews objectAtIndex:2] frame]; CGRect backgroundFrame = [backgroundView frame]; CGFloat displacement = kTextHeight * 2 + kPadding * 3; CGFloat pivot = firstFrame.origin.y + firstFrame.size.height; CGRect nameFrame = CGRectMake(firstFrame.origin.x, […]