- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在 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];
}
这是显示问题的图像:
代码中缺少什么?
谢谢。
最佳答案
添加子层不是可扩展的解决方案,因为它会在旋转设备或更改 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/
一直在使用Vim多年来,一直以来我都接受了bright and distracting the visual bell曾是。最近有人给我看Emacs visual bell ,它只闪烁屏幕的顶行和底行
如何删除 UITableViewController 中的 UISearchBar 底线? 也可以应用 Swift 解决方案。 这是我的 VC 代码: NavigationController.Nav
我有一个 Activity ,我在其中将数据 bundle 到另一个 Activity 。有了这些数据,我还 bundle 了一个自定义颜色,我希望在 Activity 2 中显示 EditText
我有一个应用有时需要其导航栏才能与内容融为一体。 有谁知道如何摆脱这个烦人的小酒吧或改变它的颜色? 在下图的情况下,我说的是“ Root View Controller ”下方的 1px 高度线 最佳
如何删除DataRepeater控件中数据控件项的底部边框线: 最佳答案 您在 DataRepeater 中看到的分隔符项目之间的控制,是非客户区的绘图DataRepeaterItem控制。 你可以找
.segment-button-indicator { -ms-flex-item-align: end; align-self: flex-end;
我是一名优秀的程序员,十分优秀!