我正在尝试创建一个简单的圆形 View 。 我以前做过,现在由于某种原因圆圈不精确(附图)。 在我的代码中,我采用了“sliderPin” View 的高度,它的一半值用于其层的 cornerRadius。 我也尝试采用“sliderPin” View 的约束高度值,但得到了相同的结果。 * View 的宽度和高度相等。 我的代码:
[self.sliderPin.layer setBorderColor:borderColor];
[self.sliderPin.layer setBorderWidth:2];
self.sliderPin.clipsToBounds = YES;
self.sliderPin.layer.masksToBounds = YES;
[setCornerRadius:CGRectGetHeight(self.sliderPin.frame) / 2];
最佳答案
更好地使用 UISlider,通过给定的方法。它可能会解决你的问题。
UIImage *minImage = [[UIImage imageNamed:@"slider_minimum.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
UIImage *maxImage = [[UIImage imageNamed:@"slider_maximum.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
UIImage *thumbImage = [UIImage imageNamed:@"thumb.png"];
[[UISlider appearance] setMaximumTrackImage:maxImage
forState:UIControlStateNormal];
[[UISlider appearance] setMinimumTrackImage:minImage
forState:UIControlStateNormal];
[[UISlider appearance] setThumbImage:thumbImage
forState:UIControlStateNormal];
对于高度:
您可以通过继承 UISlider 和覆盖方法来自定义
- (CGRect)trackRectForBounds:(CGRect)bounds {
CGRect rect = CGRectMake(0, 0, 100, 30);//change it to any size you want
return rect;
}
您可以通过继承各自的方法来自定义更多。
谢谢。
关于ios - Circle UIView 未正确创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076414/