我正在尝试构建一个SDK,它允许出版商根据他们的本地UI来设计我的广告。更具体地说,如果你看一下我从谷歌本地快车广告中拿来的例子:

我想使用一个配置文件来设置:
我试着用包含所有组件的xib来实现它,然后尝试根据一些配置文件在运行时设置约束--我不得不说,到目前为止还不太好。
我还看了Facebook ComponentKit (http://componentkit.org/),但它似乎更适合UITableView,而不是一个普通视图。
你认为什么是应对这一挑战的最佳方式?您有推荐的OOTB解决方案吗?有做过类似事情的样本项目吗?
谢谢,
发布于 2016-11-22 18:55:35
您可以通过从UIViewController继承实现您自己的视图控制器。然后可以重写方法ViewDidLayoutSubviews。在此方法中,可以设置ui元素在视图中的位置。这可以做相对r ntge完全大小。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);
}如您所见,位置是动态计算的。只需向视图控制器中添加一个方法,该方法获取位置(例如,枚举),计算元素的实际位置。
https://stackoverflow.com/questions/40746843
复制相似问题