ios - Circle UIView 未正确创建

标签 ios objective-c uiview

我正在尝试创建一个简单的圆形 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];

enter image description here

最佳答案

更好地使用 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;
}

您可以通过继承各自的方法来自定义更多。

enter image description here enter image description here

谢谢。

关于ios - Circle UIView 未正确创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076414/

相关文章:

ios - Swift - 向 touchesBegan 中的操作添加计时器

objective-c - WebView (webkit) "Look Up In Dictionary"UI 错误 - Mac App

ios - Objective C 解析问题

iphone - 集合在枚举时发生了变异

IOS 状态栏 LigthContent

javascript - Objective-c [For 循环] 在 UIWebview 中加载 HTML 并从 JavaScript 函数检索数据

ios - uiview 容器 - viewwithtag 有时会返回 null

swift - 将 View 置于 UITableViewCell 的中心?看起来位于 UI 层次结构的中心,但不在实际的应用程序中?

swift - 从没有 Storyboard的 xib 加载 UIView

ios - 将数组元素与预定义值进行比较时出错?