1

私は自分のアプリで奇妙な振る舞いをしていて、それがどこから来たのかわかりません。非常にうまく機能するテキストビューコンテンツ用にNSScannerを実装しました。スキャナーはテキストストレージと連携して動作し、テキストビューデリゲートメソッドを介してテキストストレージ文字列に属性を設定します。ただし、スペースを入力するたびに、囲んでいるスクロールビューがスクロールしてテキストビューの一番上に戻ります。誰かがこれがどこから来ているのか私にヒントを与えることができますか?

4

2 に答える 2

4

おそらく私より経験豊富な人にとってはそれほど面倒ではないでしょうが、この動作の考えられる理由を見つけたので(上記を参照)、誰かが同様の「問題」の解決策を探す場合に備えて、ここに投稿します。場合に備えて、NSTextViewのXCode4.x属性インスペクターで「非連続レイアウト」オプションをオフにすると問題が解決するようです。NSLayoutManagerのドキュメントには、より多くの手がかりが記載されています(「概要」セクションの下):「非連続レイアウトは、Mac OSXv10.5で新しく追加されたオプションのレイアウトマネージャーの動作です...」

たぶん、私より経験豊富な誰かが、これと、非連続オプションがチェックされているときの囲んでいるスクローラービューのこの動作の理由(デフォルト)について、より多くの情報を提供するでしょう。

于 2011-07-25T11:37:15.927 に答える
1

私は同じ問題に悩まされており、「非連続レイアウト」をオフにしても問題は解決しますが、NSTextViewが10k行のテキストに対して遅くなるという別の問題が発生します。同様の質問への回答は異なりますが、うまくいくかどうか疑問に思います。その解決策はまたあなたに適用できないかもしれないいくつかの制限を課します。

于 2011-12-29T09:40:54.773 に答える