問題タブ [cagradientlayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UIButton の奇妙な CAGradientLayer バグ
iOS アプリのすべてのボタンに小さなグラデーションを適用しようとしています。基本的にサブタイトル、ボーダー、グラデーションレイヤーをボタンに追加するこの関数を追加した UIButton のカテゴリを作成しました。
関数はロードされたビューで呼び出されます:
そしてカテゴリ機能
私の問題は、上記の関数が呼び出されると、グラデーションがはっきりと見え、ボタンが目的のデザインになることです。ただし、以下の別のカテゴリ関数を使用して設定した、字幕のないボタン タイプもあります。
前のようにviewdidloadで呼び出されたこの関数を使用すると、グラデーションや背景がまったくないボタンになります(ボタンには明確な背景色があります..ボタンからビューコントローラーのビューの背景を見ることができます)。
私のボタンはすべて、画像とデフォルトのタイトルを持つカスタムボタンとして設定されています。ご協力いただきありがとうございます
ios - EXC_BAD_ACCESS を与える CAGradientLayer?
UITableView と同じように、UIScrollView の端をフェードアウトさせようとしています。以下のコードを見つけました。inside と呼ばれるメソッドの UIScrollView サブクラスで使用していinitWithFrame:...
ます。
注:この質問はすでに見ましたが__bridge
、色の前にすでに持っています。
それは本当に基本的なことだと確信していますが、それを理解することはできません。修正されることを期待して行を追加しましたCGColorRelease
が、修正されませんでした...
私が見ていないものを見ている人はいますか?
ios - cellForRowAtIndexPath に Gradientlayer を追加する
カスタムセルのテーブルビューがあります。各セルで、サブビューとしてラベルを追加し、ラベルにデータをロードしています。セルが nil かどうかをチェックする if ブロック内の各セルの cellForRowAtIndexPath にグラデーションを追加しています。その正常に動作します。しかし、追加の要件があり、問題はここから始まります。値を確認し、セル内の特定のラベルにグラデーション効果を適用する必要があります。これが私のコードです。
現在、テーブルをリロードするとグラデーションが正しく適用されません。ランダムにセルをピックアップし、グラデーションを適用します。テーブルをリロードする前にグラデーションを適切に削除するにはどうすればよいですか? かなりの数日間私の頭を壊しました。助けてください。
ios - CAGradientLayer センド トゥ バック
UIViewController
背景グラデーションを作成する場所があり ます
_selectionFrame
それは正常に動作しますが、後でView Controllerのサブビューを背面に送信する必要があります:(アニメーションと描画の目的で、背面と前面に
送信する必要があることがよくあります)_selectionFrame
self
ビューコントローラーです:
ただし、これは の_selectionFrame
後ろに送信しますgradient
。グラデーションのすぐ上で、他のすべてのサブビューの下に配置したい。問題は、グラデーションがビューではないため、グラデーションに関数を使用できないことです。
電話したい[self.view sendSubviewToBack:gradient];
しかし、これはうまくいきません。
iphone - CAGradientLayer - 横向きのビューを完全にはカバーしません
このチュートリアルを使用して、アプリのグラデーション背景を作成しました。きれいそう。ただし、向きを変えると問題が発生します。
縦向きモードでは適切に見えますが、横向きではグラデーションがビュー全体をカバーしていません。スクリーンショットをアップロードしました -
赤はグラデーションで、青の部分はデフォルトの背景色で、赤のグラデーションで完全に覆われているはずです。
ビュー全体をカバーするにはどうすればよいですか? 回転の変化を検出した後、グラデーションメソッドを呼び出そうとしましたが、うまくいきませんでした。これは私が使用したコードです:
iphone - CAGradientLayer、適切にサイズ変更されず、回転時に裂ける
素敵なグラデーションの背景を作成するために使用しているCAGradientLayersを取得しようとしていますが、回転とモーダルビューのプレゼンテーションで適切にサイズ変更されますが、ボールをプレーしません。
これは私が作成したビデオで、私の問題を示しています。
また、このビデオは、OS X で iPhone シミュレーターを撮影して作成されたことに注意してください。問題を強調するために、ビデオのアニメーションの速度を落としました。
これは私が作成したばかりの Xcode プロジェクトです (これは、ビデオに表示されているアプリのソースです)。
Xcode プロジェクト、CAGradientLayer 背景を使用してビューをモーダルに表示...
価値があるのは、次を使用することを理解しています:
トランジションをもう少しシームレスにして不快感を少なくするという合理的な仕事をしていますが、現在横向きモードでビューをモーダルに表示しているときにビデオを見ると、上記のコードが役に立たない理由がわかります.
これを整理するために私にできることはありますか?
ジョン
ios - コア アニメーション: CAShapeLayer でマスクされた CAGradientLayer で CAShapeLayer をマスクします。
これは主に、CAGradientLayer と CAShapeLayer を使用したコア アニメーションの「高度な」マスキングに関するものです。
基本的に、私は CAShapeLayer s1を使用して表示された CGPath から作成された素敵な複雑な形状を持っています。シェイプの一部を薄暗くする必要があります。それで、セグメントの方向にグラデーションを持つCAGradientLayer g1を作成します。すべて問題ありません。次に、別の CAShapeLayer s2を作成して、暗くしたいセグメントを適切に形成します。
CAShapeLayer s2 (g1.mask = s2)を使用してCAGradientLayer g1をマスクします。g1をサブレイヤーとして追加すれば完璧です。
ただし、マスクされた CAGradientLayer g1を使用してs1をマスクする必要があります。s1.mask = g1 ;を実行すると s1は、 s2でマスクされたバージョンではなく、g1の通常のバージョンでマスクされます。
基本的に、私はやっている、または少なくともやろうとしています: CAShapeLayer1.mask = CAGradientLayer1;
しかし、それは現在出力中です!CAShapeLayer1.mask = CAGradientLayer1;
お役に立てれば。十分に明確でない場合は、いくつかの画像を投稿します。
乾杯。