邮件应用程序如何在编辑模式下禁用 UISearchBar?

发布于 2024-11-27 00:31:12 字数 64 浏览 1 评论 0原文

使用 SearchDisplayController 却找不到任何可以实现此目的的方法?

Using a SearchDisplayController and couldn't find any methods that would accomplish this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅冇旳回忆 2024-12-04 00:31:12

切换到编辑模式时尝试此操作:

self.searchDisplayController.searchBar.userInteractionEnabled = NO;
self.searchDisplayController.searchBar.alpha = .5;

反向:

self.searchDisplayController.searchBar.userInteractionEnabled = YES;
self.searchDisplayController.searchBar.alpha = 1.0;

您还可以为 alpha 更改设置动画以获取额外的积分:)

Try this when switching to Edit mode:

self.searchDisplayController.searchBar.userInteractionEnabled = NO;
self.searchDisplayController.searchBar.alpha = .5;

Reverse with:

self.searchDisplayController.searchBar.userInteractionEnabled = YES;
self.searchDisplayController.searchBar.alpha = 1.0;

You can also animate the alpha change for extra credit :)

溺深海 2024-12-04 00:31:12

查看 UISearchDisplayDelegateUISearchBarDelegate了解搜索栏何时处于编辑模式。

下面是一些在搜索栏上添加覆盖层的代码,我改编自此 示例

在您的 .h 文件中,

@interface ...
{
    UIView *disableViewOverlay;
    ...
}

@property(retain) UIView *disableViewOverlay;

在 .m 文件中,

@synthesize disableViewOverlay;

...

-(void) disableSearchBar 
{
    self.disableViewOverlay = [[UIView alloc]
                           initWithFrame:CGRectMake(0.0f,0.0f,320.0f,44.0f)];
    self.disableViewOverlay.backgroundColor=[UIColor blackColor];
    self.disableViewOverlay.alpha = 0;

    self.disableViewOverlay.alpha = 0;
    [self.view addSubview:self.disableViewOverlay];

    [UIView beginAnimations:@"FadeIn" context:nil];
    [UIView setAnimationDuration:0.5];
    self.disableViewOverlay.alpha = 0.4;
    [UIView commitAnimations];
}

-(void) enableSearchBar 
{
    [disableViewOverlay removeFromSuperview];
    [searchBar resignFirstResponder];
}

您可以调整 alpha 值,直到它按照您想要的方式显示。

希望这有帮助!

Check out the UISearchDisplayDelegate and the UISearchBarDelegate for knowing when the search bar is in edit mode.

Here is some code to add an overlay over the searchBar, which I've adapted from this example,

In your .h file,

@interface ...
{
    UIView *disableViewOverlay;
    ...
}

@property(retain) UIView *disableViewOverlay;

And in the .m file,

@synthesize disableViewOverlay;

...

-(void) disableSearchBar 
{
    self.disableViewOverlay = [[UIView alloc]
                           initWithFrame:CGRectMake(0.0f,0.0f,320.0f,44.0f)];
    self.disableViewOverlay.backgroundColor=[UIColor blackColor];
    self.disableViewOverlay.alpha = 0;

    self.disableViewOverlay.alpha = 0;
    [self.view addSubview:self.disableViewOverlay];

    [UIView beginAnimations:@"FadeIn" context:nil];
    [UIView setAnimationDuration:0.5];
    self.disableViewOverlay.alpha = 0.4;
    [UIView commitAnimations];
}

-(void) enableSearchBar 
{
    [disableViewOverlay removeFromSuperview];
    [searchBar resignFirstResponder];
}

You can adjust the alpha values until it appears the way you want it to.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文