首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中实现"CSS样“视图定位的最佳方法

在iOS中实现"CSS样“视图定位的最佳方法
EN

Stack Overflow用户
提问于 2016-11-22 16:22:23
回答 1查看 87关注 0票数 0

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

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

  1. 每个组件的位置,例如顶部或底部的“安装”按钮,图像顶部或下方的文本,等等。
  2. Ad容器的大小

我试着用包含所有组件的xib来实现它,然后尝试根据一些配置文件在运行时设置约束--我不得不说,到目前为止还不太好。

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

你认为什么是应对这一挑战的最佳方式?您有推荐的OOTB解决方案吗?有做过类似事情的样本项目吗?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 18:55:35

您可以通过从UIViewController继承实现您自己的视图控制器。然后可以重写方法ViewDidLayoutSubviews。在此方法中,可以设置ui元素在视图中的位置。这可以做相对r ntge完全大小。Herr是C#中的一些示例代码:

代码语言:javascript
复制
        /// </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);
    }

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40746843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档