0
필자가 만든 UIView 컨테이너에서 베 지어 패스 디자인을 마무리하려고하는데 첨부 된 샘플 응용 프로그램만큼 큰 그림을 만들기 위해 패스 크기를 올바르게 표시하는 것 같습니다. 이것은 내가 만든 베 지어 경로이지만 그 크기는 너무 작고 채우기 색 (베 지어 경로)이 흰색이 아니라 검은 색으로 채워지지 않습니다. 베 지어 경로 중복 디자인
이
은 나뿐만 아니라 내부에있는 UIImageView를 배치 복제 않네 샘플 이미지입니다. 는이것은 내가 무엇을 내 용기에 행하신 여기까지가 내 코드입니다 :
import UIKit
class ProfileViewControllerNew: UIViewController/*, UIScrollViewDelegate, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout*/{
// Properties
var topContainer : UIScrollView = UIScrollView()
var profileImage : UIImageView = UIImageView()
var settingIcon : UIImageView = UIImageView()
var shareIcon : UIImageView = UIImageView()
var sessionScrollView : UIScrollView = UIScrollView()
var scrollViewContainer : UICollectionView = {
let layout = UICollectionViewFlowLayout()
let cV = UICollectionView(frame: .zero, collectionViewLayout: layout)
return cV
}()
var firstname : String!
var location: UILabel!
let layer = CAShapeLayer()
// triangle view
var triangleView : UIView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
// setStatusBarBackgroundColor(color : UIColor.init(red: 49/255, green: 207/255, blue: 203/255, alpha: 1))
self.view.backgroundColor = UIColor.init(red: 49/255, green: 207/255, blue: 203/255, alpha: 1)
self.navigationController?.navigationBar.isHidden = false
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.barStyle = UIBarStyle.default;
self.view.backgroundColor = UIColor.white
addContaier()
trView()
// scrollViewSetup()
// titleTextView()
// imageView()
// textViews()
// iconsView()
//
}
func addContaier(){
// adding container to add image
self.topContainer.backgroundColor = UIColor(red: 49/255, green: 207/255, blue: 203/255, alpha: 1)
// self.topContainer.backgroundColor = UIColor.white
self.topContainer.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(self.topContainer)
let myImage : UIImage = UIImage(named : "profile.jpeg")!
let imageView : UIImageView = UIImageView()
imageView.image = myImage
imageView.frame = self.topContainer.bounds
//imageView.contentMode = UIViewContentMode.scaleAspectFill
// self.topContainer.addSubview(imageView)
self.topContainer.topAnchor.constraint(equalTo: view.topAnchor, constant : 0).isActive = true
self.topContainer.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
//self.topContainer.heightAnchor.constraint(equalTo: view.heightAnchor).isActive = true
self.topContainer.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.55).isActive = true
self.topContainer.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
/*
layer.path = UIBezierPath(roundedRect: CGRect(x: profileImage.frame.origin.x, y:profileImage.frame.origin.y , width: 30, height: 30), cornerRadius: 30).cgPath
layer.fillColor = UIColor.red.cgColor
self.topContainer.layer.addSublayer(layer)
self.layer.addSublayer(<#T##layer: CALayer##CALayer#>)
*/
}
func trView(){
let bezierPath = UIBezierPath()
bezierPath.move(to : CGPoint(x:0,y: 462))
bezierPath.addCurve(to :CGPoint(x:414,y: 226), controlPoint1: CGPoint(x:414.5,y: 230), controlPoint2: CGPoint(x:414.5,y: 226))
bezierPath.addLine(to: CGPoint(x:414,y: 462))
bezierPath.addLine(to: CGPoint(x:0,y: 462))
UIColor.white.setFill()
bezierPath.fill()
bezierPath.lineWidth = 1
// bezierPath.stroke()
// bezierPath.close()
// path.lineCapStyle = kCGLineCapSquare
let line = CAShapeLayer()
line.path = bezierPath.cgPath;
// line.strokeColor = UIColor.black.cgColor
// line.fillColor = UIColor.white.cgColor
self.topContainer.layer.addSublayer(line)
}
}
밖으로 도와 그들로 UIImageViews을 추가 같은 삼각형 뷰를 복제 할 수 누구인가 ?
감사합니다.
베 지어 곡선이 보이지 않고 직선 만 보입니다. –
모양의 채우기를 수행 할 수 있도록 베 지어 경로로 이동하는 것이 좋습니다. 비록 그것이 직선이라 할지라도, 라인 밑의 모양을 채우는 것을 코딩하는 방법은 무엇입니까? (정확하게 @ Mike'Pomax'Kamermans를 이해한다면) – Aboogie
솔직히 말하자면. 내 전문 기술은 ios 개발이 아닌 베 지어 곡선입니다. 직선 클리핑에 베 지어 (Bezier-Anything)가 필요한 이유를 간단히 당황스럽게 생각했습니다. –