最好的实施方式" CSS喜欢"在iOS中查看定位

时间:2016-11-22 16:22:24

标签: ios objective-c

我正在尝试构建一个SDK,允许发布商根据其原生UI设计我的广告。更具体地说,如果你看一下我从Google Native Express Ads获得的例子:

enter image description here

我想使用配置文件来设置:

  1. 每个组件位置,例如" install"顶部或底部的按钮,图像顶部或图像下方的文本等等。

  2. 广告容器的尺寸

  3. 我尝试使用包含所有组件的xib来实现它,然后尝试根据某些配置文件在运行时设置它 - 我说它到目前为止还不顺利。< / p>

    我还查看了Facebook ComponentKit(http://componentkit.org/),但它似乎更适合UITableView而不是1通用视图。

    您认为应对这一挑战的最佳方式是什么?你有没有推荐的OOTB解决方案?任何完成类似事情的示例项目?

    谢谢,

1 个答案:

答案 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);
    }

如您所见,位置是动态计算的。只需向视图控制器添加一个方法,该方法采用位置(例如枚举)来计算元素的实际位置。