Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Xcode 9升级导致网格错误消息中的Searchbox_Xamarin_Xamarin.forms_Xcode9 - Fatal编程技术网

Xamarin Xcode 9升级导致网格错误消息中的Searchbox

Xamarin Xcode 9升级导致网格错误消息中的Searchbox,xamarin,xamarin.forms,xcode9,Xamarin,Xamarin.forms,Xcode9,我使用visual studio for Mac开发我的Xamarin表单应用程序,并将其设置为定期下载稳定的更新。我收到一条消息要将我的Xcode升级到版本9,我做到了。 我在我的应用程序中的网格中有一个搜索框,但该搜索框无法再次工作。我得到的只是下面的错误消息。有没有办法解决这个问题?如果我注释掉搜索框,它会工作,但我需要它 抛出Objective-C异常。名称:NSInternalInconsistencyException 原因:-[UISearchBar sizeThatFits:]不

我使用visual studio for Mac开发我的Xamarin表单应用程序,并将其设置为定期下载稳定的更新。我收到一条消息要将我的Xcode升级到版本9,我做到了。 我在我的应用程序中的网格中有一个搜索框,但该搜索框无法再次工作。我得到的只是下面的错误消息。有没有办法解决这个问题?如果我注释掉搜索框,它会工作,但我需要它

抛出Objective-C异常。名称:NSInternalInconsistencyException 原因:-[UISearchBar sizeThatFits:]不支持传递 非有限值({inf,56})本机堆栈跟踪:0 0x0000000103a971cb例外预处理+171 1 libobjc.A.dylib
0x000000011115df41 objc_异常_抛出+48 2 CoreFoundation
0x0000000103a9c362+[NSException raise:格式:参数:][98 3
基金会0x000 000 01046C2088 -[NSAssertionHandler handleFailureInMethod:对象:文件:行号:说明::+1934
UIKit 0x0000000107e9802b-[UISearchBar sizeThatFits:+347 5篇文章。iOS
0x00000001033f8f49 xamarin_dyn_objc_msgSend+2176???
0x000000013198ff40 0x0+5127077696 7???
0x00000001319847a2 0x0+5127030690

我找到了答案

  • 在iOS中为SearchBar创建自定义渲染器
  • 覆盖大小匹配方法
  • 返回一些默认大小
  • 使用系统;
    使用PROJ.iOS.Renders;
    使用Xamarin.Forms;
    使用Xamarin.Forms.Platform.iOS;
    [程序集:ExportRenderer(typeof(SearchBar)、typeof(CustomSearchDerrer))]
    命名空间PROJ.iOS.Renders
    {
    公共类CustomSearchBallenderer:SearchBallenderer
    {
    公共定制器()
    {
    }
    公共覆盖CoreGraphics.CGSize大小AtFits(CoreGraphics.CGSize)
    {
    返回新的CoreGraphics.CGSize(30,30);
    }
    }
    }
    
    对于想知道的人,我通过定义搜索框的宽度(如widrequest=“30”)解决了这个问题,现在它可以工作了。