【发布时间】:2013-10-22 00:35:44
【问题描述】:
在单元测试中,我试图在 UITextField 上调用 becomeFirstResponder 方法,但我得到 NO,即它没有成为第一响应者。
代码如下:
UITextField *textField = [self.controller.searchBar valueForKey: @"_searchField"];
// textField = [[UITextField alloc] initWithFrame:CGRectMake(10.0, 10.0, 400.0, 44.0)];
[self.navigationController.navigationBar addSubview:textField];
textField.enabled = YES;
STAssertTrue([textField becomeFirstResponder],
@"TextField should be a first responder.");
我错过了什么吗?
【问题讨论】:
-
根据您正在调用的对象生命周期的时刻,
self.navigationCopntroller.navigationBar可能 == nil。如果是这样,NO 是正确的行为。
标签: ios objective-c uitextfield becomefirstresponder