2017-09-21 2 views
0

私はMac用のVisual Studioを使用して、Xamarinフォームアプリケーションを開発し、安定版のアップデートを定期的にダウンロードするように設定しました。 Xcodeをバージョン9にアップグレードするというメッセージが表示されました。 アプリのグリッドに検索ボックスがあり、もう一度検索することができませんでした。私が持っているのは以下のエラーメッセージだけです。どのように私はこれを修正することができる任意のアイデア?私が検索ボックスをコメントアウトすると動作しますが、私はそれを必要とします。Xcode 9のアップグレードによるグリッドエラーメッセージの検索ボックス

Objective-C例外がスローされました。名前:NSInternalInconsistencyException 理由: - [UISearchBar sizeThatFits:] 非有限の値を渡すサポートしていない({INF、56})ネイティブスタックトレース:0 CoreFoundationの 0x0000000103a971cb __exceptionPreprocess + 171 1 libobjc.A.dylib
0x000000011115df41 objc_exception_throw + 48 2 CoreFoundationの
0x0000000103a9c362 + [NSExceptionレイズ:フォーマット:引数:] + 98 3
ファンデーション0x00000001046c2089 - [NSAssertionHandler handleFailureInMethod:目的:ファイル:行番号:説明:] + 193 4
のUIKit 0x0000000107e9802b - [UISearchBar sizeThatFits :] + 347 5記事.iOS
0x00000001033f8f49 xamarin_dyn_objc_msgSend + 217 6 ???
0x000000013198ff40 0x0 + 5127077696 7
0x00000001319847a2は0x0 + 5127030690

+0

を返す検索バー

  • オーバーライド SizeThatFits方法
  • のためのiOSのカスタムレンダラを作成し、私が定義することによって、これを解決widrequest = "30"などの検索ボックスの幅と今すぐ動作します。 – user2320476

  • 答えて

    1

    私は答えhereを見つけました。

    1. いくつかのデフォルトのサイズ知りたいだろう人々のために
     using System; 
         using PROJ.iOS.Renders; 
         using Xamarin.Forms; 
         using Xamarin.Forms.Platform.iOS; 
    
         [assembly: ExportRenderer(typeof(SearchBar), typeof(CustomSearchbarRenderer))] 
         namespace PROJ.iOS.Renders 
         { 
          public class CustomSearchbarRenderer : SearchBarRenderer 
          { 
           public CustomSearchbarRenderer() 
           { 
           } 
           public override CoreGraphics.CGSize SizeThatFits(CoreGraphics.CGSize size) 
           { 
            return new CoreGraphics.CGSize(30, 30); 
           } 
          } 
         } 
    
    関連する問題