我的代码:
public class AdViewCell : UICollectionViewCell
{
public void RecycleCell()
{
var _nativeAd = new NativeAdView();
ContentView.AddSubview(_nativeAd.CreateNativeAd());
}
}
public class NativeAdView
{
public UIView CreateNativeAd()
{
var t1label = new UILabel();
t1label.Font = UIFont.SystemFontOfSize(25);
t1label.Text = "Test";
t1label.TextColor = UIColor.White;
return t1label;
}
}
它在RecycleCollectionView中使用。
未显示文本:
为什么不显示文本?请帮助我。
答案 0 :(得分:1)
原因:
视图的框架(CGRect)是其矩形在 超级视图的坐标系。默认情况下,它从左上方开始。
如果您未指定视图的frame
或layout
,则视图不会显示在其superview
中。
解决方案:
对于您而言,需要在标签上添加Frame
,以确保标签在RecycleCollectionView
中的位置。
例如:
public class NativeAdView
{
public UIView CreateNativeAd()
{
var t1label = new UILabel();
t1label.Font = UIFont.SystemFontOfSize(25);
t1label.Text = "Test";
t1label.TextColor = UIColor.White;
t1label.BackgroundColor = UIColor.Blue;
// you can define your Frame here
t1label.Frame = new CoreGraphics.CGRect(50,60,100,50);
return t1label;
}
}
您还可以使用autolayout
来布局视图。
引用:autoLayout