大佬教程收集整理的这篇文章主要介绍了ios – 仅显示UIView的角落,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
let view = UIView() view.layer.borderColor = UIColor.white.cgColor view.layer.borderWidth = 2 let maskframe = UIView(frame: CGRect(x:0,y:0,width:view.frame.width,height:view.frame.height)) view.layer.mask = maskframe.layer.`
这只掩盖了右边缘,我也不明白它是如何工作的.
// // CornerView.swift // CornersViewSO // // Created by Reinier Melian on 5/31/17. // Copyright © 2017 Reinier Melian. All rights reserved. // import UIKit import CoreGraphics @IBDesignable class CornerView: UIView { @IBInspectable var sizeMultiplier : CGFloat = 0.2{ didSet{ self.draw(self.bounds) } } @IBInspectable var lineWidth : CGFloat = 2{ didSet{ self.draw(self.bounds) } } @IBInspectable var lineColor : UIColor = UIColor.black{ didSet{ self.draw(self.bounds) } } override init(frame: CGRect) { super.init(frame: framE) self.BACkgroundColor = UIColor.clear } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.BACkgroundColor = UIColor.clear } func drawCorners() { let currentContext = UIGraphicsGetCurrentContext() currentContext?.setLineWidth(lineWidth) currentContext?.setstrokeColor(lineColor.cgColor) //first part of top left corner currentContext?.beginPath() currentContext?.move(to: CGPoint(x: 0,y: 0)) currentContext?.addLine(to: CGPoint(x: self.bounds.size.width*sizeMultiplier,y: 0)) currentContext?.strokePath() //top rigth corner currentContext?.beginPath() currentContext?.move(to: CGPoint(x: self.bounds.size.width - self.bounds.size.width*sizeMultiplier,y: 0)) currentContext?.addLine(to: CGPoint(x: self.bounds.size.width,y: self.bounds.size.height*sizeMultiplier)) currentContext?.strokePath() //bottom rigth corner currentContext?.beginPath() currentContext?.move(to: CGPoint(x: self.bounds.size.width,y: self.bounds.size.height - self.bounds.size.height*sizeMultiplier)) currentContext?.addLine(to: CGPoint(x: self.bounds.size.width,y: self.bounds.size.height)) currentContext?.addLine(to: CGPoint(x: self.bounds.size.width - self.bounds.size.width*sizeMultiplier,y: self.bounds.size.height)) currentContext?.strokePath() //bottom left corner currentContext?.beginPath() currentContext?.move(to: CGPoint(x: self.bounds.size.width*sizeMultiplier,y: self.bounds.size.height)) currentContext?.addLine(to: CGPoint(x: 0,y: self.bounds.size.height - self.bounds.size.height*sizeMultiplier)) currentContext?.strokePath() //second part of top left corner currentContext?.beginPath() currentContext?.move(to: CGPoint(x: 0,y: self.bounds.size.height*sizeMultiplier)) currentContext?.addLine(to: CGPoint(x: 0,y: 0)) currentContext?.strokePath() } // Only override draw() if you perform custom drawing. // An empty implementation adversely affects perfoRMANce during animation. override func draw(_ rect: CGRect) { // Drawing code super.draw(rect) self.drawCorners() } }
EDITED
示例使用代码
import UIKit class ViewController: UIViewController { var cornerViewCode : CornerView? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. self.cornerViewCode = CornerView(frame: CGRect(x: 0,y: 0,width: 50,height: 50)) self.view.addSubview(self.cornerViewCode!) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
这就是它的样子
希望这可以帮助
以上是大佬教程为你收集整理的ios – 仅显示UIView的角落全部内容,希望文章能够帮你解决ios – 仅显示UIView的角落所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。