URL:http://www.informit.com/articles/article.aspx?p=2151265&seqNum=9
Alignment Rectangles
As developers create complex views, they may introduce visual ornamentation such as shadows, exterior highlights, reflections, and engraving lines. As they do, these features are often drawn onto p_w_picpath art rather than being added through layers or subviews. Unlike frames, a view’s alignment rectangle should be limited to a core visual element. Its size should remain unaffected as new items are drawn onto the view. Consider the left side of Figure 1-11. It shows a view drawn with a shadow and a badge. When laying out this view, you want Auto Layout to focus on aligning just the core element—the blue rectangle—and not the ornamentation.
Figure 1-11 A view’s alignment rectangle (center) refers strictly to the core visual element to be aligned, without embellishments.
The center p_w_picpath in Figure 1-11 highlights the view’s alignment rectangle. This rectangle excludes all ornamentation, such as the drop shadow and badge. It’s the part of the view you want Auto Layout to consider when it does its work. Contrast this with the rectangle shown in the right p_w_picpath. This version includes all the visual ornamentation, extending the view’s frame beyond the area that should be considered for alignment.
The right-hand rectangle in Figure 1-11 encompasses all the view’s visual elements. It encompasses the shadow and badge. These ornaments could potentially throw off a view’s alignment features (for example, its center, bottom, and right) if they were considered during layout.
By working with alignment rectangles instead of frames, Auto Layout ensures that key information like a view’s edges and center are properly considered during layout. In Figure 1-12, the adorned view is perfectly aligned on the background grid. Its badge and shadow are not considered during placement.
Figure 1-12 Auto Layout only considers this view’s alignment rectangle when laying it out as centered in its superview. The shadow and badge don’t affect its placement.
转载于:https://blog.51cto.com/linjohn/1670691
本文深入探讨了在复杂视图布局中如何利用AutoLayout技术,确保关键视觉元素如核心矩形不受装饰性元素干扰,实现精准对齐。通过实例分析,展示了如何设置视图的alignmentRectangle,排除不必要的装饰,让布局工作更加精确高效。


3574

被折叠的 条评论
为什么被折叠?



