作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想模仿使用 UISearchBar 的标准 UI,现在我试图在开始搜索时将 View 的其余部分设为灰色,我尝试通过设置背景颜色来做到这一点 View 变为灰色,但我在 UITableView 中使用部分,它们没有变灰。有人知道这是为什么吗?
最佳答案
您没有看到节标题淡化为灰色的原因是它们绘制在灰色背景之上,并且是不透明的;换句话说,它们的 alpha
是 1。
如果您正在寻找获得所需效果的建议,我的第一 react 是添加一个叠加层 UIView
作为您希望“变灰”的区域的 subview ,并在某些事件发生时更改其背景颜色。像这样:
// You have to choose what view is the one that needs to be grayed out.
// I'll call the view you want to gray out "viewToBeGrayed"
UIView *grayOverlay = [[UIView alloc] initWithFrame:viewToBeGrayed.frame];
// Initially, the overlay should be clear
[grayOverlay setBackgroundColor:[UIColor clearColor]];
[viewToBeGrayed addSubview:grayOverlay];
然后,当您想要“变灰”viewToBeGrayed
时,只需将 grayOverlay
的背景色更改为一些半透明的灰度值即可:
[grayOverlay setBackgroundColor:[UIColor colorWithWhite:0.5 alpha:0.5]];
最后,当您想摆脱“变灰”效果时,只需将 View 设置回清晰即可:
[grayOverlay setBackgroundColor:[UIColor clearColor]];
这应该是一个很好的起点。如果您需要任何其他帮助,请发表评论。
关于objective-c - 使用 UISearchBar 时使 View 的其余部分变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440882/
经过很长时间的尝试,我仍然找不到解决问题的正确方法。问题是将这个灰度图像分割成 3 种不同的颜色:边界应该是黑色,边界的内部空间应该是白色,所有其他介质应该是黑色。 我尝试了几种不同的方法,包括直接强
这个问题在这里已经有了答案: What is the difference between "./somescript.sh" and ". ./somescript.sh" (4 个答案) 关闭
我是一名优秀的程序员,十分优秀!