在我正在开发的应用程序中,我有一个UIView,我用一个绿色的图像来平铺我为此目的。除了平铺,我使用
myView.backgroundColor = [UIColor colorWithPatternImage:backgroundImage];
我在视图的边界周围放了一个边框:
myView.layer.borderColor = [UIColor blackColor].CGColor;
myView.layer.borderWidth = solutionBackground.bounds.size.width / 120.0;
使用SO:
中的技术,还会在视图中添加阴影view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOpacity = 0.7;
view.layer.shadowRadius = 10.0;
view.layer.shadowOffset = CGSizeMake(5.0f, 5.0f);
view.layer.shadowPath = [UIBezierPath bezierPathWithRect:view.bounds].CGPath;
这是问题所在。大多数时候它看起来很好。然而,有时,瓷砖毡延伸到边界之外。视图通常约占全屏幕面积的90%,因此边界大约为8点。我的理解是,如果没有裁剪,以这种方式应用的边界在边界内是50%,在界限之外是50%。那么平铺图案如何延伸到边界以外呢?这是一个错误吗?或者是平铺仅限于8像素的倍数?对这种出血的任何其他解释?
这是一个示例。我认为这主要发生在使用捏合手势缩放视图时。可能会出现时间问题,在缩放时背景和边框以不同比例渲染吗?