gpt4 book ai didi

ios - 在 UIView 上绘制顶线和底线

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:59:32 25 4
gpt4 key购买 nike

我正在尝试在 UIView 的顶部和底部边缘绘制线条。但是这条线并没有一直画到 View Controller 的右边缘。

以下是我用来绘制线条的代码:

- (void)addBorders
{
CALayer *upperBorder = [CALayer layer];
CALayer *bottomBorder = [CALayer layer];
upperBorder.backgroundColor = [[UIColor colorWithRed:225/255.0 green:220/255.0 blue:214/255.0 alpha:1.0f] CGColor];
upperBorder.frame = CGRectMake(0, 0, CGRectGetWidth(self.recentTuneinView.frame), 0.5f);
bottomBorder.backgroundColor = [[UIColor colorWithRed:154/255.0 green:154/255.0 blue:154/255.0 alpha:1.0f] CGColor];
bottomBorder.frame = CGRectMake(0, 58.0f, CGRectGetWidth(self.recentTuneinView.frame), 0.5f);
[self.recentTuneinView.layer addSublayer:upperBorder];
[self.recentTuneinView.layer addSublayer:bottomBorder];

}

这是显示问题的图像:

enter image description here

代码中缺少什么?

谢谢。

最佳答案

添加子层不是可扩展的解决方案,因为它会在旋转设备或更改 View 大小时产生问题。

我的建议是创建自定义 View 并实现 drawRect: 如下所示:

- (void)drawRect:(CGRect)iRect {
CGContextRef aContext = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(aContext, 0.5);

// Set Top Line Color
CGContextSetStrokeColorWithColor(aContext, [[UIColor colorWithRed:225/255.0 green:220/255.0 blue:214/255.0 alpha:1.0f] CGColor]);

// Top Line
CGContextMoveToPoint(aContext, 0, 0);
CGContextAddLineToPoint(aContext, iRect.size.width, 0);

// Set Bottom Line Color
CGContextSetStrokeColorWithColor(aContext, [[UIColor colorWithRed:225/255.0 green:220/255.0 blue:214/255.0 alpha:1.0f] CGColor]);

// Bottom Line
CGContextMoveToPoint(aContext, 0, 58.0);
CGContextAddLineToPoint(aContext, iRect.size.width, 58.0);
}

关于ios - 在 UIView 上绘制顶线和底线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com