私はまだ自分のアプリに取り組んでおり、UISearchBar について質問があります。
これが私の質問です:UISearchBarに表示されるこの「選択|すべて選択|貼り付け」ツールチップを取り除くにはどうすればよいですか? 誰でもこれで私を助けることができますか? 前もって感謝します。
4 に答える
1
その時だけ非表示にしたい場合UISeacrhBar
:
-(void)setGestures
{
for (id obj in searchBar.subviews)
{
if ([obj isKindOfClass:[UITextField class]])
{
UITextField *textF = (UITextField *)obj;
textF.gestureRecognizers = nil;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(makeSearchBarFirstResponder:)];
textF.gestureRecognizers = @[tapGesture];
}
}
}
-(void)makeSearchBarFirstResponder:(UIGestureRecognizer *)sender
{
[sender.view becomeFirstResponder];
}
そしてCall[self setGestures]
メソッド
-(void)viewDidLoad
{
[self setGestures];
}
-(BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
[self setGestures];
return YES;
}
于 2013-08-08T10:37:09.817 に答える
1
iOS 7 以降では、UISearchBar をサブクラス化し、このメソッドを次のようにオーバーライドできます。
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[[UIMenuController sharedMenuController] setMenuVisible:NO animated:NO];
}];
return [super canPerformAction:action withSender:sender];
}
これにより、メニュー コントローラーがすぐに非表示になり、UISearchBar サブビューを解析する必要がなくなります。
于 2014-09-05T06:38:10.597 に答える
0
ここでは、メニュー コントローラーが実行するすべての特定のメソッドに対してNOを返す必要があります。
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(defineSelection:))
{
return NO;
}
else if (action == @selector(translateSelection:))
{
return NO;
}
else if (action == @selector(copy:))
{
return NO;
}
return [super canPerformAction:action withSender:sender];
}
お役に立てれば 。
于 2013-08-08T09:39:07.850 に答える