我正在尝试构建一个SDK,允许发布商根据其原生UI设计我的广告。更具体地说,如果你看一下我从Google Native Express Ads获得的例子:
我想使用配置文件来设置:
每个组件位置,例如" install"顶部或底部的按钮,图像顶部或图像下方的文本等等。
广告容器的尺寸
我尝试使用包含所有组件的xib来实现它,然后尝试根据某些配置文件在运行时设置它 - 我说它到目前为止还不顺利。< / p>
我还查看了Facebook ComponentKit(http://componentkit.org/),但它似乎更适合UITableView而不是1通用视图。
您认为应对这一挑战的最佳方式是什么?你有没有推荐的OOTB解决方案?任何完成类似事情的示例项目?
谢谢,
答案 0 :(得分:-1)
您可以通过继承UIViewController来实现自己的Viewcontroller。然后,您可以覆盖方法ViewDidLayoutSubviews。在此方法中,您可以在视图上设置ui元素的位置。这可以相对完整的尺寸完成。 Herr是C#中的一些代码示例:
/// </summary>
public override void ViewDidLayoutSubviews()
{
base.ViewDidLayoutSubviews();
var tempFrame = View.Frame;
_settings.Frame = new CGRect(tempFrame.Width * 0.25, tempFrame.Height * 0.25, tempFrame.Width * 0.06, tempFrame.Height * 0.6);
_statistics.Frame = new CGRect(tempFrame.Width * 0.75, tempFrame.Height * 0.25, tempFrame.Width * 0.06, tempFrame.Height * 0.6);
}
如您所见,位置是动态计算的。只需向视图控制器添加一个方法,该方法采用位置(例如枚举)来计算元素的实际位置。