如何在Xamarin.iOS Designer中更改Xib的大小?

时间:2019-05-07 14:58:50

标签: xamarin.forms uiview xamarin.ios xib custom-renderer

我实现了一个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。我希望我以后可以自由更改大小。

enter image description here

为什么不能通过拖动来更改大小?我也无法在“布局”标签中进行设置,因为它是灰色的。

enter image description here

通过编译将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?

在此先感谢您的帮助!

1 个答案:

答案 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添加的内容。向您显示,以便您有个好主意。

enter image description here

另一个git diff显示了更多信息

enter image description here

希望这会有所帮助。-