2017-09-19 4 views
0

皆、私はswift3アプリでPageMenuを使用しています。メニュータイトルの背景画像を追加したい出来ますか?私は説明してみましょう私は画像のように私に出力を与えるページメニューを実装しているPageMenu ImagePageMenuタイトル背景画像

しかし、解決策が私の心の中にあったバックグラウンド画像を追加する必要があります。添付必須メニュー。私は背景の矩形Imageを持っていますが、私はPageMenuでどのように実装できますか?またはこれのための他のソリューション?おかげPageMenu用のGitHubのドキュメントを見てみると

Required Menu

+0

申し訳ありません、強調表示されたメニュー項目の背景に白い平行四辺形を追加することを意味しますか? – Sparky

+0

はい白い平行四辺形を強調表示されたメニュー項目の背景に追加することを意味します。 –

答えて

1

、MenuViewItemは素直のUIViewのサブクラスようです。この場合、ビューのレイヤーにサブレイヤを追加することで、あなたが望むことができます。あなたが持っていたのであればMenuItemViewはmyMenuItemViewと呼ばれる:

let parallelogramLayer : CAShapeLayer = CAShapeLayer() 
parallelogramLayer.fillColor = UIColor.white.cgColor 
parallelogramLayer.frame = bounds 

let parallelogramPath : UIBezierPath = UIBezierPath() 
parallelogramPath.move(to: CGPoint(x: 10, y: 0)) 
parallelogramPath.addLine(to: CGPoint(x: bounds.width, y: 0)) 
parallelogramPath.addLine(to: CGPoint(x: bounds.width - 10, y: bounds.height)) 
parallelogramPath.addLine(to: CGPoint(x: 0, y: bounds.height)) 
parallelogramPath.close() 

paralellogramLayer.path = parallelogramPath.cgPath 

myMenuViewItem.layer.addSublayer(parallelogramLayer) 

が明らかにメニュー項目がアクティブであるかどうかによって、層を追加/削除する必要があるだろうし、うまくいけば、これはあなたのアイデアを提供します。希望が役立ちます。

+0

お返事ありがとうございます。 CAShapeLayerが私に "undeclayer type CAshapelayerの使用" とこの行のコードにバインドされているもの "parallelogramLayer.frame = bounds" –

+0

謝罪 - CAShapeLayerのファイルの先頭にQuartzCoreをインポートする必要があると思います。ビューの境界プロパティは、ビューと同じサイズで、原点0、0を持つ矩形です。明白な理由から、サブビューのサイズを変更すると非常に便利です。 – Sparky

+0

import QuartzCore is not xcodeでQuartzCoreフレームワークを追加しましたが、同じエラーに直面しています –