2017-07-10 17 views
1

私がアタッチした画像のように、アプリでチケットを作成する必要があります。 私の問題は、透明な半円形の穴を作るための解決策を見つけることができないように見える一方で、影を穴に追いかけることができないということです。半透明の透明なビューを作成して影を付け加える方法

Ticket view

ticketviewは、テーブルビューのセルで使用する予定です。

私の最初の考えは、2つのビューを1つの白と1つの緑にしてから、緑の部分に背景色の円形のビューを追加することでした。

私はそれを画像として追加することを考えましたが、この解決策は間違っていると思いますが、iOS開発者のアイデンティティはあまりありません。緑色の部分などにテキストを整列させます。

私は少し失われています - 誰もこの仕事を修正する方法のアイデアを持っていますか? :)

+1

可能であれば、私は画像と一緒に行くだろう。このようなことを描くことは、グラフィックを提供することと比べて過度のものです。あなたが絶対にグラフィックスを得ることができない場合は、ベジェパスでこれを行うことができます。作成したビューでシャドーイングするには、ビューのCGPathを取得し、ベジェパスを使用してカーブに沿って影を描きます:https://developer.apple.com/library/content/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths /BezierPaths.html –

+0

@NicolaiHarboあなたが影を表示する必要がある場所 –

答えて

1

解く問題への手順に従ってください:

  1. はあなたのセルでのUIViewを取る - グリーンビューをお使いの場合には
  2. それに右上の
  3. つを2つのサブビューを追加(右上の半分のビューのみを追加 - 残りの半分のビューは緑色のビューから外れている必要があります)
  4. 以下のコードを半円形に設定します。

    firstCircleView.layer.cornerRadius = firstCircleView.frame.size.width + 2 
    firstCircleView.clipsToBounds = true 
    firstCircleView.layoutIfNeeded() 
    
    secondCircleView.layer.cornerRadius = secondCircleView.frame.size.width + 2 
    secondCircleView.clipsToBounds = true 
    secondCircleView.layoutIfNeeded() 
    

注:あなたがビューの両方の外に作成する必要があります。

は、スクリーンショットを好む:

enter image description here

出力:

enter image description here

注1:私はあなたがUITableViewCellの中でそれを追加することができます代わりにそれをのUIViewでそれを追加しました。目的を理解するために最初のスクリーンショットで灰色の背景色を使用しました。アプリを実行している間は白にしてください。

+0

私が想定している解決策ですが、まだ影の挑戦を解決していません:/あなたの答えをありがとう! –

+0

@NicolaiHarboシャドウイングの問題は何ですか?私もそれを解決するように説明してください。このソリューションがあなたのために働いているなら、これを受け入れて投票してください。 –

+0

私はバトムの穴のカーブに従うために影が必要です..正確にイメージに表示されているように:)私はここに投稿したイメージを使用して私の問題を解決し、その後私のデザイナーは緑の部分が長さの20%であると私に言いました。長さの80%、最後の20%である右側部分の別の透明なビューです。次にアイテムを追加し、ビューを使用して要素を整列させます:)しかし、あなたの努力の仲間に感謝します!ほんとうにありがとう! –

関連する問題