我实现了一个CustomRenderer,以在Xamarin.Forms体系结构中的iOS上显示本机UIView(利用xib / nib文件)。我遵循this tutorial为Xamarin.Forms中的CustomView实现CustomRenderer,并遵循this tutorial 在Xamarin.iOS中显示带有xib / nib文件的UIView。请查看my repo。
基本上可以正常工作,我可以看到NativeView。但这占用了太多空间。我想将其缩小到xib的内容。因此,我将xib的根元素设置为Simulated Metric-> Size-> Freeform。我希望我以后可以自由更改大小。
为什么不能通过拖动来更改大小?我也无法在“布局”标签中进行设置,因为它是灰色的。
通过编译将xib编辑为XML文件并更改高度可以恢复:
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
和
<size key="freeformSize" width="414" height="736"/>
在Xamarin.Forms项目中的用法上指定HeighRequest无效。需要哪些更改才能遵守HeightRequest属性?不幸的是,我对Xamarin.iOS中的本机编程知识不多。我是否需要将尺寸传递给我的NativeExampleView?
在此先感谢您的帮助!
答案 0 :(得分:1)
Visual Studio Designer似乎有问题。
我试图按照您的步骤进行操作,并且遇到了与您相同的问题。经过VS4M和VS4W的测试,并且在两个IDE中都存在相同的问题。
在Mac上,我使用Xcode打开 View ,然后将Size设置为FreeForm并保存,然后在Visual Studio中打开View即可更新其大小。
如果您有权访问Xcode,则可以尝试上述操作。
如果您没有机会使用Xcode打开“视图”,则可以通过在“视图”节点中添加此键来手动修改视图(源代码):
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
这是Xcode在更改大小时添加的键。
在这里您可以看到git diff。 红色是VS,绿色表示Xcode添加的内容。向您显示,以便您有个好主意。
另一个git diff显示了更多信息
希望这会有所帮助。-