Nit*_*hel 97
我只是测试Bellow的几行代码并且它非常好用,只需将它测试到你的项目中.希望您能轻松获得解决方案.
为什么要创建新视图并将其添加到现有视图中?对于此任务,只需创建一个CALayer并将其添加到现有的UIView的Layer do中,如下所示: -
#import <QuartzCore/QuartzCore.h>
- (void)viewDidLoad
{
CALayer *TopBorder = [CALayer layer];
TopBorder.frame = CGRectMake(0.0f, 0.0f, myview.frame.size.width, 3.0f);
TopBorder.backgroundColor = [UIColor redColor].CGColor;
[myview.layer addSublayer:TopBorder];
[super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)
它的输出是: -

Gil*_*OOl 18
我找到了解决方案,这里有一些技巧:
CGSize mainViewSize = self.view.bounds.size;
CGFloat borderWidth = 1;
UIColor *borderColor = [UIColor colorWithRed:37.0/255 green:38.0/255 blue:39.0/255 alpha:1.0];
UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, mainViewSize.width, borderWidth)];
topView.opaque = YES;
topView.backgroundColor = borderColor;
topView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
[self.view addSubview:topView];
Run Code Online (Sandbox Code Playgroud)
GilbertOOI在Swift 2中的回答:
let topBorder: CALayer = CALayer()
topBorder.frame = CGRectMake(0.0, 0.0, myView.frame.size.width, 3.0)
topBorder.backgroundColor = UIColor.redColor().CGColor
myView.layer.addSublayer(topBorder)
Run Code Online (Sandbox Code Playgroud)
GilbertOOI在 Swift 4 中的回答:
let topBorder: CALayer = CALayer()
topBorder.frame = CGRect(x: 0, y: 0, width: myView.frame.size.width, height: 1)
topBorder.backgroundColor = UIColor.purple.cgColor
myView.layer.addSublayer(topBorder)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32768 次 |
| 最近记录: |