問題タブ [ikimagebrowsercell]

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.

0 投票する
1 に答える
534 参照

objective-c - レイヤーに裏打ちされたIKImageBrowserView、Z順序付け、およびその他の懸念事項への対処

私は次のことを行う必要のあるプロジェクトに取り組んでいます:

  • IKImageBrowserViewを含むビューから別のビューへの遷移アニメーションがあります。
  • マウスがビュー上を移動するときに、各IKImageBrowserCellにホバーオーバーレイを配置します。と
  • NSViewを画像ブラウザビューの一部とオーバーラップさせる

私が抱えている問題は次のとおりです。

  • IKImageBrowserViewは、レイヤーバックされていない場合、z順序を尊重しません-> IKImageBrowserViewは、ビューがその上にある場合でも(またはその上にある場合でも)、一番上に留まります
  • 画像ブラウザビューがレイヤーバックの場合、z順序の問題は解決されますが、IKImageBrowserViewのカスタム動作が壊れます(ホバーなど)->たとえば、Mac 10.7では、ブラウザセルの選択レイヤーとフォアグラウンドレイヤースクロールビューの「バウンス」ゾーンで画像と一緒に移動しないでください。

トランジションアニメーションを実行するには、レイヤーバッキングが必要です。

パフォーマンス上の理由から、Appleは兄弟ビューの重複を推奨していないことを認識しています。これは避けられない場合もあります。

これについてAppleにテクニカルサポートインシデントを提出しました。彼らはそれをエンジニアにエスカレートしましたが、バグレポートを提出するように私にアドバイスしました。

誰かが以前にこれに遭遇したことがありますか?もしそうなら、あなたはどのような回避策を採用しましたか?


興味のある人のために、サンプルプロジェクトはここhttps://github.com/jdbenito/nerderyにあります。アプリデリゲートで、-setWantsLayer:行のコメント化/コメント解除を試してください。

IKImageBrowserViewは、レイヤーバックされると奇妙な動作を示し始めます。また、症状はOSによって異なります(たとえば、Mac OS 10.6では、ホバーは別のタブに切り替えてIKImageBrowserViewに戻るまで機能します。MacOS10.8では、ホバーレイヤーが正しいセルに表示されないようです) 。

0 投票する
1 に答える
570 参照

ikimagebrowserview - IKImageBrowserView の選択の問題

たとえば、初期状態はすべての画像が選択されています ここに画像の説明を入力

クリックしたとき、選択されていないことを願っていますが、現在のステータスはアクションに対する応答がありません ここに画像の説明を入力

何か設定ある?助けてくれてありがとう。

0 投票する
1 に答える
313 参照

objective-c - ImageBrowserCell のハイライト ディメンションを変更する

IKImageBrowserCell標準のハイライト ディメンションのサイズを変更したい。ここでstackoverflowで同様の質問を見つけました(リンクで、標準のIKImageBrowserCell選択のハイライトを見ることができます)。

ハイライト ディメンションとハイライト ディメンションを完全にカスタマイズするアップル サンプル コードをいくつか見つけましたIKImageBrowserCell。これらは、フレームを設定する 2 つのオーバーライドされたメソッドです。

そして、これは選択ハイライトを生成するコードです

これはそのコードの結果です:

ここに画像の説明を入力

ご覧のとおり、選択範囲のフレームが変更されていますが、希望する方法で変更することはできません。ハイライトを画像のサムネイルと同じサイズにしたいだけです。選択コード ( ) を変更しようとしましたselectionLayer.frame = CGRectMake(0, 0, frame.size.height, frame.size.height);が、何も起こりません。誰でも私を助けることができますか?ありがとう!

0 投票する
0 に答える
61 参照

objective-c - IKImageBrowserCell の選択範囲を変更することは可能ですか?

のサブクラスをセルとしてIKImageBrowserView含む のサブクラスを使用していますIKImageBrowserCell

私たちが直面している問題は、画像の縦横比が高い場合です。 ここに画像の説明を入力

その最初の項目は、スキニー イメージを直接選択た場合にのみ選択できます。 任意の場所をクリックすると項目が選択されるようにしたい-mouseDown:
imageContainerFrame

IKImageBrowserViewは、次のメソッドがあります-indexOfItemAtPoint。これはNSNotFound、セル コンテナ フレーム内をクリックすると返されますが、スキニー イメージをクリックすると正しいインデックスが返されます。

このメソッドをオーバーライドして、マウスがセル内でダウンしたときに適切なインデックスを返すことはできないと思いますが、それがどのように見えるかというと、それが私の唯一のオプションです。

これに取り組む方法を知っている人はいますか?