作为UICollectionView属性的textField是否可以成为第一个响应者,并显示键盘?
当我使用这段代码时,它对我来说就像20%的时间一样。
我尝试直接调用并在主线程方法上使用执行选择器,没有骰子。
我已经尝试在textField成为第一个响应者之前辞职其他响应者。
我是否在错误的地方呼叫第一响应者?
- (void)awakeFromNib {
[super awakeFromNib];
self.nameField.delegate = self;
[self.nameField addTarget:self action:@selector(nameFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
[self.nameField performSelectorOnMainThread:@selector(becomeFirstResponder) withObject:nil waitUntilDone:YES];
}
答案 0 :(得分:2)
我想你想要performSelector:withObject:afterDelay
。在初始化序列的早期调用awakeFromNib
方法。这不是设置第一响应者的正确位置/时间。
通过延迟performSelector:withObject:afterDelay
调用0
,您可以在尝试更改第一个响应者之前完成初始化过程。
答案 1 :(得分:0)
也许您应该让customCollectionViewCell的textField
成为方法中的第一响应者:- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath