当我在XIB中的视图中添加UIToolbar时,使其成为黑色半透明样式(而不是不透明的),它的顶部有一个2像素的黑色笔触。同时,非透明的黑色不透明UISearchBar是黑色半透明样式,顶部具有1像素的黑色笔触。它们都位于相同的位置(向下44px,在导航栏下方)。



我更喜欢UIToolbar上的1px黑色笔触顶部,以使视图与搜索栏匹配,并使它与导航栏更加融合。是否可以在不继承工具栏的情况下实现这一目标?例如,是否可以使用搜索栏并隐藏输入字段?

最佳答案

他们为什么不同

它们之所以不同,是因为它们的放置方式不同。工具栏应放置在屏幕底部,其中2px黑色笔触看起来不错。

例如,查看“邮件”应用程序(iPhone),您可以看到(即使它不是半透明的)工具栏具有2px黑色笔触,而搜索栏只有1px黑色笔触。您还将看到如何放置它们:


导航栏下方的搜索栏
屏幕底部的工具栏。


如何更改它们

抱歉,这些都不是一个优雅的解决方案。

自己绘制工具栏

您可以使用Core Graphics或CAGradientLayer自己绘制整个视图。这会很麻烦,但是您可以根据自己的喜好使其外观。

剪辑笔画的顶部

您可以将工具栏放置在43px视图中,并将clipsToBounds设置为YES。通过将工具栏放置在(0, -1)处,笔划的第一个点/像素将被裁剪并且不会显示。工具栏将缩小一个像素(高度= 43),因此您必须将超级视图的高度设置为44px,工具栏的高度设置为45px(仍为(0,-1)),以使其再次达到44px。这将略微改变渐变,因此最终结果将具有其他视觉效果,而不仅仅是除去笔触的顶部像素。

关于iphone - 为什么黑色半透明UIToolbar的顶部与黑色半透明UISearchBar的顶部不同,如何使它们看起来相同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10323025/

10-12 14:42