gpt4 book ai didi

ios - 为什么 UISearchBar 设置为第一响应者后仍然没有获得焦点?

转载 作者:可可西里 更新时间:2023-11-01 03:49:23 25 4
gpt4 key购买 nike

为什么当 UIViewController 第二次推送到导航 Controller 时,UISearchBar 没有获得焦点并且键盘没有出现?整个 View 上似乎没有元素具有焦点。

我的用例:我有 2 个 View Controller :A 和 B。转换是 A->B。 A, B 被推送到导航 Controller 。

  1. 当我显示 B 第一次设置焦点时,搜索栏和键盘出现。确定。
  2. 然后我回到 A。然后再次从 A->B。现在第二次没有焦点并且键盘没有出现。这是错误的。

我的代码:在 B UIViewController IBOutlet 上创建到搜索栏的连接:

@property (weak, nonatomic) IBOutlet UISearchBar *mySearchBar;

mySearchBar 的委托(delegate)也已设置。我在 viewDidAppear 方法中将焦点放在 B UIViewController 中的搜索栏上:

-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self performSelector:@selector(setCorrectFocus) withObject:NULL afterDelay:0.2];
}

-(void) setCorrectFocus {
[self.mySearchBar becomeFirstResponder];
}

Controller 之间的转换是在如下代码中手动完成的:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"myStoryboard" bundle:nil];
AController *a = [storyboard instantiateViewControllerWithIdentifier:@"A"];
[self.navigationController pushViewController:a animated:NO];

最佳答案

试试这个

-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self setCorrectFocus];
}

-(void)setCorrectFocus
{
[self.mySearchBar becomeFirstResponder];
}

关于ios - 为什么 UISearchBar 设置为第一响应者后仍然没有获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18752753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com