Ian*_*nce 0 objective-c uiview ios
我在UIView上应用了一个背景阴影,使它看起来像是在"背景之上"(这是一个MapView),但阴影并没有完全扩展到更宽的iPhone 6和6+屏幕上虽然UIView我正在应用它.
在viewDidLoad我使用此代码将阴影应用于UIView:
CALayer *layer = self.view_detailview.layer;
layer.shadowOffset = CGSizeMake(1, 1);
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.shadowRadius = 4.0f;
layer.shadowOpacity = 0.80f;
layer.shadowPath = [[UIBezierPath bezierPathWithRect:layer.bounds] CGPath];
Run Code Online (Sandbox Code Playgroud)
在我的故事板中,我有一个约束设置,强制UIView宽度匹配超级视图宽度,它可以正常工作,没有任何问题或警告.但是当我在6或6+上运行我的应用程序时,我发现阴影没有如此完全延伸:

我可以通过将其背景颜色设置为明显的并且看到它填满屏幕来验证UIView是否使用全宽度.
问题是,当视图尚未正确布局时,您正在使用bounds值.
设置阴影viewDidLayoutSubviews(如果使用视图控制器)或layoutSubviews(如果使用独立视图).在第二种情况下,不要忘记打电话[super layoutSubviews].
或者根本不改变shadowPath.没有那条线路不行吗?
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |