2017-10-03 4 views
1

私は1つの画面を持っており、画像ビューの後に斜めカットビューを追加する必要があります。ここでプロファイル画面で使用する斜めカットビューを作成するにはどうすればよいですか?

だからビューのこの種を作成する際に私を助けてください

Profile screen

、私が作るために必要なもののスクリーンショットです。

私はthis

this質問に言及しています。

しかし、私はこれを達成するために任意のより信頼性の高い方法があるかどうかを知りたいです。

ありがとうございます。

+1

このhttps://stackoverflow.com/questions/を参照します26339943/create-a-uiview-with-one-diagonal-side –

答えて

1

これを行うために、あなたのストーリーボードにビューを追加し、斜めカットにビューのレイアウトを変更するカスタムクラスにビューのクラスを設定することができます。次のように

カスタムクラスはなります。

// 
// CustomShapeView.swift 
// 
// 
// Created by Umar Farooque on 17/09/17. 
// Copyright © 2017 ufocorp. All rights reserved. 
// 

import UIKit 
@IBDesignable 
class CustomShapeView: UIView { 

    @IBInspectable var color : UIColor? = UIColor.gray { 
     didSet { 
      //   self.layer.backgroundColor = self.color?.cgColor 
     } 

    } 
    override init(frame: CGRect) { 
     super.init(frame: frame) 
     backgroundColor = UIColor.clear 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     backgroundColor = UIColor.clear 

    } 

    // Only override draw() if you perform custom drawing. 
    // An empty implementation adversely affects performance during animation. 
    override func draw(_ rect: CGRect) { 
     // Drawing code 
     //get the size of the view 
     let size = self.bounds.size 
     //get 4 points for the shape layer 
     let p1 = self.bounds.origin 
     let p2 = CGPoint(x: p1.x + size.width, y: p1.y) 
     let p3 = CGPoint(x: p2.x, y: size.height) 
     let p4 = CGPoint(x: p1.x, y: size.height - 30) 

     //create the path 
     let path = UIBezierPath() 
     path.move(to: p1) 
     path.addLine(to: p2) 
     path.addLine(to: p3) 
     path.addLine(to: p4) 
     path.close() 
     (color ?? UIColor.gray).set() 
     path.fill() 

    } 

} 

そして結果はこのようなものになります。

enter image description here

+0

よろしくお願いします。 – KAR

+0

があなたのために働くかどうか私に知らせてください –

関連する問題