UIViewのNSMutableArrayをframe.origin.yに従ってソートしたいと思っています.yを使って最も小さいビューを最初に表示したいなどです。 2つのUIViewが同じ起点を持つ場合これには既存の方法がありますか?UIViewのNSMutableArrayをframe.origin.yに従ってソートします。
6
A
答えて
15
NSMutableArray
は、いくつかの並べ替えメソッドを持って行うことができます
yourView.subviews
を使用してサブビューの配列を取得することができます。それらの1つを選択し、並べ替えセレクタ、ブロックまたは関数を実装し、y
の値を比較します。ここでは、ブロックを使用した例です。
NSComparator comparatorBlock = ^(UIView *obj1, UIView *obj2) {
if (obj1.frame.origin.y > obj2.frame.origin.y) {
return (NSComparisonResult)NSOrderedDescending;
}
if (obj1.frame.origin.y < obj2.frame.origin.y) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
[array sortUsingComparator:comparatorBlock];
-2
あなたは、あなたがそれぞれを反復処理し、各frame.origin.yをチェックして、あなたのコーディング
3
これはframe.origin.yはありませんが、あなたはまた、SortDescriptorを使用して、キーとしてlayer.position.yを見て、これを行うことができます。
[array sortedArrayUsingDescriptors:@[[[NSSortDescriptor alloc] initWithKey:@"layer.position.y" ascending:YES]]];
+0
答えよりはるかに良い解決策..構造体である 'frame'をソートすることができます – RyanG
1
これはスウィフトでこれを行うだろうかです:
listOfViews.sortInPlace { CGRectGetMinY($0.frame) < CGRectGetMinY($1.frame) }
ザッツシャルムのようなすべてのスウィフトに:-)すべての私の愛:-)
関連する問題
- 1. エポック時間に従ってNSMutableArrayオブジェクトをソートする
- 2. パラメータに従ってソート
- 3. 列に従ってデータフレームをソートし、NATURALソートを適用します。
- 4. MVVMパターンに従ってグリッドビューをソート
- 5. ソートNSMutableArrayの
- 6. NSMutableArrayをobjective-cでソートしますか?
- 7. NSMutableArrayを別のNSMutableArrayでカスタムオブジェクトでソート
- 8. リストを別のリストに従ってソートするには?
- 9. 継承に従ったプロパティリストのソート
- 10. iOS:UIViewのframe.origin.yにオブザーバを追加していますか?
- 11. 特殊パターンを使用してNSMutableArrayをソートしますか?
- 12. 特定の比較基準に従ってリストをソートします。R
- 13. Python:csvファイルのエントリに従ってファイルをソートするプログラム
- 14. 別のファイルに従ってファイルをソートする方法は?
- 15. 辞書の対応するIDに従ってオブジェクトリストをソート
- 16. WPFでDataGridをローカライズされたソート順に従って事前ソートする
- 17. 例に従って2d配列をソートする
- 18. 間接地図データに従ってソート後のデータを取得
- 19. に従って指示に従って
- 20. NSMutableArray内のNSMutableArrayを日付プロパティでソートする
- 21. Appleの例に従ったUIViewの非表示/表示のアニメーション
- 22. ソートNSMutableArrayにはsortedArrayUsingComparatorを使用したNSArrayが含まれています
- 23. 2種類のオブジェクトを含むNSmutableArrayをソートしますか?
- 24. メソッドの実装を宣言の順番に従ってソートするには
- 25. Firebase NSMutableArrayを数値でソートする
- 26. NSMutableArrayをソートする方法は?
- 27. ソートNSMutableArrayの私は以下のようなJSONを取得しています
- 28. 特定の順序に従って文字ベクトルをソートする方法は?
- 29. 第1列の値が同じ場合にのみ、第2列に従ってnumpy配列をソートします。
- 30. 大きな配列の中の別の配列の値に従って、大きな配列をソートします。
作品!感謝の男:)これを知らなかった、そしてそれはとても良いです! – xGoPox
ありがとう!これは本当に大きな助けになります。 –
とても役に立ちました!ありがとうございました –