我只是想創建一個簡單的漸變,上面有一個標籤,我可以覆蓋在MKMapView的頂部。我看着所以看到我可以使用CAGradientLayer而不是在UIView中重寫drawRect。我想我會試一試。在我viewDidLoad中,我這樣做:CALayer setCornerRadius仍然在下面留下白色的角落
CGRect frame = CGRectMake(self.mapView.frame.origin.x, self.mapView.frame.origin.y, 320.0, 44.0);
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = frame;
gradientLayer.backgroundColor = (__bridge CGColorRef)((__bridge id)([UIColor clearColor].CGColor));
[gradientLayer setCornerRadius:12.0];
[gradientLayer setOpacity:0.5];
gradientLayer.colors = @[(id)[UIColor blackColor].CGColor, (id)[UIColor whiteColor].CGColor];
[self.view.layer addSublayer:gradientLayer];
這是在正確的道路上,除了左上角和右上角有這個白色的下方。是否有一個原因?我認爲這可能是因爲我沒有設置圖層的backgroundColor,因爲之前發生在我的UIViews上,但它看起來不像它。
謝謝!