問題タブ [drawrect]
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.
iphone - iPhone:drawRectが1回呼び出されました
NSTimer関数から2秒ごとにsetNeedsDisplayInRectを呼び出しています。これは完璧に機能し、ランダムな位置にランダムな色で正方形を描画します。ただし、状況によっては、NSTimer関数で(forループを使用して)正方形をx回描画したいのですが、多数のエラーテストを行った後、setNeedsDisplayInRect x number ofを実行していても、drawRectが呼び出されるのは1回だけのようです。何回?私は一日中この問題を理解しようとしてきたので、私はいくつかの助けが欲しいです。カール。
以下の編集は私のコードです...
意見
コントローラ
flash - 私の drawRoundRect は角丸四角形を描画していません :( [Flash]
新しいプロジェクトの Background クラスを作成しました。背景は基本的に、単純なストロークと塗りつぶしの色を重ねた 2 つの角丸長方形になります。
とにかく、今は丸みを帯びた四角形を 1 つ描画しようとしていますが、何らかの理由でステージ上のどこにも表示されません:( エラーはなく、トレースは正しくトレースされています。これは私がフォローしている例です。また、背景を描画する Document クラスのコードも含めました。
Background.as
}
私のトレースはすべて正しく出てきます:
Background クラスを初期化する Document クラスのコードは次のとおりです。
iphone - メソッド drawRect の外で CGLayer を描画する: より高速ですか?
私はよくわかりません、私は何を求めているのですか...
...しかし、別々のメソッドでレイヤーコンポジットを作成し、それらを drawRect: メソッドの外でもビューに描画すると... ...アプリのパフォーマンスが向上する可能性はありますか?
実際には、パズルのピースがレンダリングされる puzzlePiece:UIView クラスをサブクラス化していますが、描画の実装は drawRect: メソッドで行われるため、再描画は setNeedsDisplay で呼び出されます。アプリが遅い。
いわゆる drawRect: メソッドを削除すると、パフォーマンスを改善できますか?
実装したいもの: http://gotoandplay.freeblog.hu/
iphone - UIScrollView内のUIViewのDrawRect
iPhoneアプリのUIScrollViewに小さな画像を描画しようとしています。バンドルに含めたpngから作成されたUIImageから始めましたが、問題なく動作します。ズーム/パンが停止するたびに、スクロールビューのデリゲートはそのUIImage(UIScrollViewのcontentViewのサブビュー)のフレームを再計算し、setNeedsDisplayを呼び出します。画面上で画像を同じサイズに保ちたいので、スクロールビューにズームインすると、フレームの幅/高さの測定値がどんどん小さくなります。ユーザーがズームしている間、画像は間違ったサイズですが、ズームが停止するとすぐに修正されます。素晴らしいことではありませんが、最悪のことでもありません。
問題は、静的なpngではなく、自分で画像を描画したいということです。UIViewをサブクラス化して、drawRectメソッドを使用しましたが、ビューを拡大したときに滑らかなパスを描画するための計算を正しく行うことができません。線の幅と円の半径を縮小するだけでよいと思いました。描画中(CGContextAddArc)ですが、iPhoneがビューを拡大してその上に非常に正確な円を描画するのではなく、2つまたは3つのピクセルに細い線の円を描画してからそれらのピクセルを拡大しようとしたように見えます。
これは、UIView(UIScrollViewのcontentViewのサブビュー)のサイズを変更するViewControllerです。
これはUIViewのdrawRectです
UIViewサブクラスを別の場所に配置するというアイデアは受け入れていますが、UIScrollViewのコンテンツビューと同期して移動する必要があります。
iphone - setNeedsDisplayInRect の問題 (quartz2d、iPhone)
2秒ごとにx個の正方形をランダムな位置に描画する関数を作成しました。同じ位置に正方形を 2 回描くことはできません。アプリがサイクルを完了すると、グリッドが塗りつぶされます。これで、描画される正方形の数が <=8 の場合は問題なく動作しますが、これより多い場合は、前の正方形と同じ位置に正方形がランダムに描画されます。
正方形をランダムな位置に描画する代わりに、上から下に描画しようとしましたが、これは完全に機能します。
これを数日間デバッグしてきましたが、問題はsetNeedsDisplayInRectにあると思います。
誰かが助けてくれることを願っています。取り乱してすみません、遅くなって頭がつぶれてしまいました、笑:)
以下はコードです....
}
}
iphone - uiviewゲッターnil
ビュー コントローラーからビュー (サブビュー) に特定の iVar を取得しようとしているため、drawrect はユーザー入力に基づいて形状を描画します。これらの変数をサブビューにハードコーディングすると、形状は完璧に描画されますが、ゲッターを使用してビュー コントローラーからカスタム変数にアクセスすると、nil に戻り、描画が台無しになります。エラーや警告は表示されません。ゲッターに問題があることは知っていますが、何か提案はありますか? cgcontext を drawrect で使用できるように、変数をサブビューに渡す例はありますか? 私は大いに立ち往生しています。この時点で、私の問題は非常に単純であり、根本的な何かが欠けていると思います。セッター/ゲッターが詰め込まれていると思いました。
iphone - UITableView Did Load (セルの描画完了)
質問
Table View がセルの描画を完了したことをどのように検出できますか?
問題
UITableViewCell の contentView 内に 2 つのラベルを取得しました。これらのラベルのサイズは動的です。これは、UITableViewCell をサブクラス化することで実現できました。drawRect メソッドで、2 つのラベルのフレームをその内容に応じて調整します。ここで、すべての 2 番目のラベルを揃えたいと思います。
私の考えのステップ
- テーブル ビューでコンテンツを決定し、自動的にロードします。
- テーブル ビュー セルを実行し、UITableViewCell 内で最も遠い 2 番目のラベルの x 位置を特定します。
- この x 位置を保存し、任意のセルが描画されるときに、この x 位置を使用して 2 番目のラベルを配置します。
問題は、次のコードを使用する場合です。
2 番目のラベルはまだ描画されていません。つまり、フレームのサイズを特定できないため、すべての 2 番目のラベルを揃えるための適切な x 位置を見つけることができません。
UITableViewController をサブクラス化し、viewDidLoad や viewDidAppear などのイベントを調べてみましたが、残念ながらこれらのイベントでもセルはまだ描画されていません。
私が欲しいもの...
私が望むのは、テーブル ビューでセルを少なくとも 1 回描画して、テーブル ビュー セル内のラベルのサイズを決定できるようにすることです。cellForRowですべてのセルをループすることでこれを達成しようと考えましたが、セルは正常に返されますが、コンテンツはまだ描画されていないため、フレームの幅はゼロのままです。
誰にも解決策がありますか?
前もって感謝します、
マーク
iphone - コア グラフィックスの丸みを帯びた四角形にストロークを適用する
カスタム UITableViewCell 背景に使用している角が丸いグラデーションがあります。パスにストロークを適用しようとしていますが、まったく実行できず、どこが間違っているのかわかりません。
このコードは、四角形を右に丸め、グラデーションを適用しますが、行をストロークしません。私の間違いはどこですか?
編集:
subw の推奨に従って、コードを次のように変更しました。
でも直角はこんな感じで…</p>
...国境なし。を に変更するCGContextStrokePath(c)
とCGContextStrokeRect(c, rect)
、ストロークが表示されます (わかりやすくするために赤にしました)。しかし、どういうわけか、パスをストロークするとき、ストロークがありません:(
iphone - スワイプおよびダブルタップズームで MKAnnotationView が消える
MKAnnotationView をサブクラス化して、基本的に drawRect のオーバーライドによってマップ ビュー上のポイントの周りに円を描く注釈を作成しました。円は次の状況でうまく描画されます (シミュレーターで):
- マップ ビューの初期ロード時
- スワイプ時、ただしタッチが終了する前にスワイプ モーションが停止した場合のみ (タッチが終了した後にマップが「惰走」しないようにするため)
- ピンチズーム時
次のいずれかのアクションが発生すると、円は消えます。
- タッチが終わった後、マップが「惰性で進む」場所をスワイプ
- ダブルタップズーム
サークルが消えた後、「ワーキング」グループのアクションのいずれかが実行されると、サークルが再び表示されます。
何が原因でしょうか? 私は描画/表示/レイアウトの専門家ではありません (率直に言って、obj C や iPhone の専門家でもありません)。
これは、私の MKAnnotationView サブクラスから最も関連性が高いと思われる、わずかに簡略化されたコードです。
iphone - UISearchBar: 外観の変更 - 形状、背景、画像のオーバーレイ
デフォルトの UISearchBar の外観を変更したいと思います。例として、以下に示すように、Google iPhone アプリの検索ボックスをどのように再作成しますか? この効果を生み出すには、どのように画像を重ねますか?
(ソース: isedb.com )