我对 iOS开发人员如何以编程方式使两个UIViews之间的边缘/边界/边界看起来更好感兴趣。当我将视图放到故事板上时,它们之间产生的连接非常清晰。例如,请考虑以下屏幕截图:
灰色标题和下面渐变之间的界限非常清晰,我正在考虑如何让两个视图之间的过渡更容易。我花了很多工作和实验在左侧面板周围添加圆角阴影,但按钮仍然没有完美融合。
这是iOS6 App Store的截图。我在两个视图之间的边界处应用了附加效果的地方周围添加了红点:
屏幕截图周围有一个非常薄的边框/阴影
如何以编程方式实现这样的外观?我尝试使用CALayer的shadowPaths和border属性进行实验,但这是很多工作,必须非常迭代地完成。 是否有一些开源UIView子类,它会查看它的超级视图,并决定将哪些效果应用于更自然地混合和superview?
这是另一个例子:Adobe Ideas for iPad。我真的很喜欢它们的按钮和面板在它们周围有微妙的边框,这使得转换在带有视网膜显示屏的iPad上显得非常好。
答案 0 :(得分:0)
所有这些技能都被称为Quartz 2D,苹果有一个免费的在线手册。视图和动画是您想要阅读的另外两个。我有,期望至少6个小时的阅读时间。之后你不会花时间学习教程,节省时间。
答案 1 :(得分:0)
我找到了一种让图像更自然地融合的方法 - 在视图周围分配半透明边框。为了混合到白色背景中,在下面添加更多白色到颜色,用于混合到黑暗中,添加更少的白色。结果是1像素宽的半透明边框使得两种鲜明对比色之间的边界不那么强烈。
此方法的优点是您不再使用特定颜色边框进行编码。边框的透明度将视图的边框像素转换为更浅/更深的色调。
#import <QuartzCore/QuartzCore.h>
view.layer.borderColor =[UIColor colorWithWhite:0.7 alpha:0.7].CGColor;
view.layer.borderWidth = 1;