iOS6 SDK-UIKitの変更

この短い記事では、UIKitフレームワークの変更について、重要かつ有用だと思うことについてお話します。 私はすぐに予約をしなければなりません-説明された革新をテストする機会がまだないので、この記事は主に理論的です。



NSAttributedStringおよびUIKit


まず第一に-iOS 5で私が個人的に期待したこと-テキストコンポーネントでのNSAttributedStringのサポート-UILabel、UITextView、UITextField、およびこのための属性とさまざまな補助メソッドによる文字列の描画のサポート。 もちろん、これらすべての機能はCore Textを使用する前に利用可能でしたが、Core FoundationスタイルのAPIでの作業はさらに困難であるため、多くのサードパーティアプリケーションでのリッチテキストサポートの改善が期待できます。 例として、標準のメールアプリケーションを見ることができます。



iOSの自動レイアウト


非常に重要な革新-iOS 6では、MacOS Lionの自動レイアウトが表示されます。 これで、インターフェイスコンポーネントの相対的な位置を簡単に設定できるようになりました。 つまり、自動レイアウトでは、コンポーネントをバインドする一連の制約を指定できます。たとえば、サイズの境界、コンポーネント間の依存関係を指定できます。 これにより、アラビア語を含む右から左へのスペルを含む、いくつかの言語のインターフェイスの作成が容易になり(現在は、別のペン先/ストーリーボードを作成する必要がある場合があります)、デバイスの向きに応じてインターフェイスの構成が簡素化されることを願っています。 現時点では、自動レイアウト用のiOSに関するドキュメントはまだありません。MacOSからドキュメントが提供されています。



UITableViewの変更


もちろん、UITableViewは無視できませんでした。 UITableViewHeaderFooterViewクラスが追加され、カスタムビューのヘッダーとフッター(ヘッダー/フッター)セクションが設定されました。 また、このクラスを作成するときに、reuseIdentifierを指定できます。この場合、UITableViewは再利用のためにフッターをキューに入れます。 すばらしい革新は、次のテーブルセルを作成するために使用されるクラスまたはペン先を登録する機能です。 テーブルデリゲートのプロトコルが更新され、テーブルがレンダリングにセルまたはフッターの使用を停止したことを確認できるようになりました。また、セルの強調表示を制御するための追加のメソッドが登場しました。 UITableViewControllerはrefreshControlプロパティを取得しました。これにより、UIRefreshControlを設定してテーブルを更新できます。 たぶん、このコントロールはリフレッシュするために引っ張られているかもしれませんが、多分違うでしょう。



UITableViewに成功-UICollectionView


UITableViewの興味深い開発-UICollectionViewを使用すると、いくつかの列、円などでデータの場所を指定できます。 一般に、内部デバイスはテーブルに非常に似ています-同様のプロトコルを持つデータソースがあり、デリゲートとコントローラーがあります。 しかし、深刻な違いがあります-このクラスは最初、TableViewの最新の変更を考慮して機能します。 クラスまたはペン先の登録が必要です。これは、新しいセルと追加のビュー(補助ビューと装飾ビュー)を作成するために使用されます。 また、共通のクラスUICollectionReusableViewが表示され、UICollectionViewCellセルクラスと追加クラスとして使用されるクラスの両方が継承されます。 テーブルとの重要な違いは、UICollectionViewLayoutクラスです。UICollectionViewLayoutAttributesクラスで結合される属性を使用して、実際にセルの場所とその外観を指定できます。 興味深いことに、transform3DおよびzIndex属性があり、3次元空間で興味深いセル位置を作成できます。 開発者は、UICollectionViewLayoutクラスの独自の実装を作成するか、提供された特定の実装(グリッド内の要素の場所-UICollectionViewFlowLayout)を使用する必要があります。 使用例はすでにiOS 6のベータ版のスクリーンショットで見ることができます。たとえば、情報(Facebook、Twitter、印刷など)を共有する方法を選択するためのインターフェイスは、ほとんどの場合UICollectionViewFlowLayoutに基づいて実装されます。



UIActivityViewController-ShareKitの置き換え


次に興味深い革新はUIActivityViewControllerです。これは、データ共有を簡素化し、サードパーティのShareKitやその他の類似物を置き換えます。 コントローラーを作成すると、アクションを実行できるオブジェクトの配列とアクション自体の配列が渡されます。 現在サポートされているのは、Facebook、Twitter、Weibo(どれほど早く中国に恋をした!)、Messagesアプリケーションを使用してメールでデータを送信、オブジェクトを印刷、ペーストボードにオブジェクトをコピー、連絡先にオブジェクト(画像)を設定することです。 独自のサービスを作成することもできます。



UI状態の保存


最後に、UI状態の保存により、状態を保存し、再起動時に復元できます。 保存中に、アプリケーションは保存するビューとコントローラーを示し、さらに追加のデータを保存します。復元すると、指定したビューとコントローラーが復元されます。 適切に使用すれば、これによりiOSアプリケーションを使用するユーザーの作業がさらに簡素化されます。保存、エクスポート、同期、作業内容の記憶などは不要です。iOSは、開発者がユーザー/クライアントの作業をさらに快適にするソリューションを提供します。



結論は?


さて、簡単な結論。 私の意見では、UIKitフレームワークの主要な変更について説明しましたが、残りのフレームワークは確実に変更されましたが、新しいフレームワーク(ソーシャル、パスキット)が登場しました。 iOSの各新バージョンはそれほど重要ではないように見えますが、これはプラットフォーム自体の成熟度によるものです。iOSの現在のバージョンは驚くべき機会を提供し、開発者をますます驚かせるのが難しくなっているためです。 Appleが導入したのと同じ変更により、ユーザーとアプリケーションとのコミュニケーションがさらに楽しくなります。iOS6のこれらの定性的な変更が、開発者にとって最も興味深いと思うのです。 兄の自動レイアウトの外観は、iOSとMacOSの相互の影響を示しています。 彼らの統一を待つ時間はどれくらいありますか?



All Articles