2016-05-16 10 views
0

私のアプリでは、UICollectionViewを使用して、イメージとテキストを含むカスタムセルのグリッドビューを表示しています。すべての画面サイズをサポートするために、私はオーバーライドしました IUICollectionViewDelegateFlowLayoutデリゲートのGetSizeForItemメソッド。すべてのものは、iOS 8.1から9.2まで優れています(シミュレータとデバイスでテスト済み)。 iOS 9.3シミュレータのグリッド表示が正しく表示されます。しかし、画面が回転すると、次のエラーでクラッシュします。Xamarin.iOS UICollectionViewデバイスがiOS 9.3用に回転しているときのアプリケーションクラッシュ

Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[NSNull length]: unrecognized selector sent to instance 0x9065398 Native stack trace: 0 CoreFoundation
0x08e38494 exceptionPreprocess + 180 1 libobjc.A.dylib
0x091abe02 objc_exception_throw + 50 2 CoreFoundation
0x08e42253 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 3
CoreFoundation 0x08d7789d ___forwarding_
+ 1037 4 CoreFoundation 0x08d7746e _CF_forwarding_prep_0 + 14 5 CoreFoundation 0x08cf0cdb CFStringCompareWithOptionsAndLocale + 203 6 Foundation
0x00da5770 -[NSString compare:options:range:locale:] + 175 7
Foundation 0x00da56b9 -[NSString compare:options:range:] + 72 8 Foundation
0x00dab7f2 -[NSString caseInsensitiveCompare:] + 81 9 UIKit
0x0156e021 -[UIPhysicalKeyboardEvent _matchesKeyCommand:] + 357 10 UIKit 0x0147035e -[UIResponder _keyCommandForEvent:target:] + 446 11 UIKit 0x01470531 -[UIResponder _keyCommandForEvent:target:] + 913 12 UIKit 0x0147019b -[UIResponder _keyCommandForEvent:] + 48 13 UIKit
0x0123e287 -[UIApplication handleKeyHIDEvent:] + 380 14 UIKit
0x0121234d _UIApplicationHandleEventQueue + 6743 15 CoreFoundation
0x08d4ae5f CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15 16 CoreFoundation 0x08d40aeb __CFRunLoopDoSources0 + 523 17 CoreFoundation 0x08d3ff08 __CFRunLoopRun + 1032 18 CoreFoundation
0x08d3f846 CFRunLoopRunSpecific + 470 19 CoreFoundation
0x08d3f65b CFRunLoopRunInMode + 123 20 GraphicsServices
0x09b3f664 GSEventRunModal + 192 21 GraphicsServices
0x09b3f4a1 GSEventRun + 104 22 UIKit
0x01218eb9 UIApplicationMain + 160 23 ???
0x18c98020 0x0 + 415858720 24 ???
0x18c97e18 0x0 + 415858200 25 ???
0x18c95f98 0x0 + 415850392 26 ???
0x18c95cd4 0x0 + 415849684 27 ???
0x18c95e60 0x0 + 415850080 28 libmonosgen-2.0.dylib
0x088cee81 mono_jit_runtime_invoke + 705 29 libmonosgen-2.0.dylib
0x08a7e0af mono_runtime_invoke + 127 30 libmonosgen-2.0.dylib
0x08a82f71 mono_runtime_exec_main + 401 31 libmonosgen-2.0.dylib
0x08a82d35 mono_runtime_run_main + 629 32 libmonosgen-2.0.dylib
0x0893ac8d mono_jit_exec + 93 33 TutorMeNot.iOS
0x001ff440 xamarin_main + 2384 34 TutorMeNot.iOS
0x001da5a1 main + 113 35 libdyld.dylib
0x0a62ca25 start + 1 36 ???
0x00000003 0x0 + 3

答えて

0

この問題はコードにはあまり関係しません。ここに私の問題を解決した私の観察があります。

私はTabBarControllerを使用しています。タブの1つでは、カスタムセルでUICollectionViewを使用しています。 iOS 9.3シミュレータでAppを実行すると、コレクションビューが正しく表示されました。

シミュレータを回転するにはキーボードショートカット「コマンド+矢印」が使用されます。 私はコマンドを押すと直ちにクラッシュする。 しかし、ハードウェア - >オプションの回転メニューを使ってシミュレータを回転させるとうまくいきました。

また、これをiPodデバイス(iOS V9.3.2)でテストして、完全に機能しました。 テスト目的のために、Objective-Cを使用してサンプルUICollectionViewアプリケーションを作成しました。 iOS 9.3シミュレータでそのサンプルをビルドして実行すると、画面回転にクラッシュすることなく正常に動作しました。

希望Xamarinチームがこの問題を探します。

関連する問題