0

ここで、より多くの経験を持つ誰かが光を当ててくれることを望んでいたので、簡単な質問があります。

現在、AddressBookUI フレームワーク (基本的には ABPeoplePickerNavigationController) を使用して、ユーザーが連絡先のリストを表示し、そこから連絡先を選択して連絡先の詳細ビューにドリルダウンしています。この世のものとは思えない、本当に普通の何か。

ただし、連絡先が tableView リストから選択されたときに表示される検索バー、セクション ヘッダー、および連絡先ビューの背景の色を変更したいと考えています。

私が何をしようとしても(UINavigationControllerメソッドをオーバーライドし、viewLoadedでビューをロードするときにプロパティを直接設定し、単一の連絡先ビューでサブビューを繰り返しループし、backgroundColorをclearColorに設定し、基礎となるビューを背景画像に設定するなど)変更は固執しません。ヘッダー/検索バーは常に青で、単一の連絡先ビューの背景は常にピンストライプの青/白の背景です (すべてのサブビューに対して clearColor を繰り返し設定する場合、これに対して非常に不安定な動作が発生します。そのような醜いハックのように感じます)。

これを達成する方法を知っている人はいますか?ビューがモーダルビューであるという事実に関係していると思われます。洞察はありますか??

下位レベルの c API にアクセスする必要はありません。このように解決しなければならないのは、ローカリゼーションに関して混乱するでしょう。連絡先リストと tableView インデックスをローマ字以外の多くの言語でソートする方法がわからないからです (維持できれば、これをただ乗りにすることができます)。ココアベースのフレームワークを使用)。さらに、連絡先リストのロード/処理に関する Apple の最適化は、とにかく私自身の最適化よりも優れていると確信しています。私が収集できることから、AppleはAB sqliteデータベースに直接アクセスできますが、必然的にさらに別のレベルの抽象化からアクセスする必要があります...(cベースのAPI)

c API を使用して自分のアドレス帳ビューを展開してもかまいません (これは、色と背景を変更するだけでデータ管理のオーバーヘッドが発生するため、ばかげてやり過ぎです... でもまあ) 代わりに私を指摘してもらえれば。複数言語/アルファベット対応の並べ替えオプションに向けて (もちろん、AddressBookUI フレームワークに固執しながら、色と背景を変更するだけが望ましいでしょう)。

どんな洞察も非常に高く評価されています!!

どうもありがとうございます、

ホセ

4

1 に答える 1

1

幸運を。その API の公開されていない部分を掘り下げているため、必要な結果が得られる場合と得られない場合があります。ほとんどは試行錯誤であり、公開された API を使用していないため、将来の OS のアップグレードでアプリが壊れる可能性があります。

Apple は、UI の特定の部分のルック アンド フィールの一貫性を維持することを好みます。アドレス帳インターフェイスはその 1 つです。

アプリをその部分に合わせたいだけなら、私は心配しません。いくつかの厳しい要件があり、公開されていない API を避けたい場合は、独自のソリューションを展開する可能性があります。これは、既に述べたように、このような小さな表面的な変更には多くの作業が必要に思えます。

于 2009-07-12T00:36:33.260 に答える