所以我在我的应用程序顶部得到了UIView
,我想在它的底部画一条细线,这是一条非常相似的线,作为UITableView
中的分隔线。我目前在IB中设置了高度为1px的UIView
,但是当我将该行与UITableView
中的分隔符进行比较时,它的高度更高。有没有什么好方法可以在UIView
内画一条细线?
答案 0 :(得分:9)
为您的热线视图框架height
(或width
)0.5
并将backgroundColor
设置为[UIColor lightGrayColor]
。
编辑:对于非视网膜,您可以将身高/宽度更改为(1.0 / [UIScreen mainScreen].scale)
这将导致视网膜上的0.5和非视网膜显示上的1.0。
答案 1 :(得分:3)
只需插入UIView
#import <QuartzCore/QuartzCore.h>
并在drawRect:
内添加此内容并指定行的高度
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0f);
//start at this point
CGContextMoveToPoint(context, 0, self.frame.size.height);
//draw to this point
CGContextAddLineToPoint(context,
self.frame.size.width,
self.frame.size.height);
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
// and now draw the Path!
CGContextStrokePath(context);
}
你会得到像这里的红线一样的线
答案 2 :(得分:2)
试试看你的观点。此代码将为您的视图绘制一个2px红色边框。
将#import <QuartzCore/QuartzCore.h>
添加到您的视图中。
CALayer *bottomBorder = [CALayer layer];
bottomBorder.frame = CGRectMake(0.0f, myview.frame.size.height - 2, myview.frame.size.width, 2.0f);
bottomBorder.backgroundColor = [UIColor redColor].CGColor;
[myview.layer addSublayer:bottomBorder];