【发布时间】:2017-10-07 03:28:12
【问题描述】:
我正在尝试为 iOS 创建一个“通用”渲染器,但无法确定渲染器的尺寸。
PCL 中的渲染器类非常简单,唯一的“特殊”是继承自 View,因为我想将它用作通用渲染器
public class ExampleView : View { }
在XAML中也很典型
<renderers:ExampleView />
iOS项目中渲染器的定义如下
public class ExampleRenderer : ViewRenderer<ExampleView, UIView>
{
protected override void OnElementChanged(ElementChangedEventArgs<ExampleView> e)
{
base.OnElementChanged(e);
if (Control == null)
{
SetNativeControl(new UIView(new CGRect(0, 0, 0, 300)));
}
}
}
这里有趣的部分是该类继承自ViewRenderer<ExampleView, UIView>
似乎虽然我指定渲染的宽度为 0,但实际渲染器占用了页面的整个宽度。
事实上,我设置的任何宽度值都将被忽略,渲染器将占据整个页面。
这还不错,是无意的,这让我感到困扰。 (或者我做错了什么?)
所以这里的问题是如何在我的自定义渲染中找到占用的宽度?
【问题讨论】:
标签: xamarin.forms