首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocoa-Touch:如何布局

Cocoa-Touch:如何布局
EN

Stack Overflow用户
提问于 2009-11-02 07:22:16
回答 4查看 539关注 0票数 4

我有一个视图(UIScrollView),它加载一些数据,并在不同的子视图中显示其中的各种内容。因此,我有大约10个子视图(UIImageView, UILabel),考虑到它们不可预测的内容(即,文本的不同高度/宽度取决于UILabel属性),我需要以编程方式放置它们。

据我所知,目前还没有Cocoa-touch的布局框架。

做这件事最好的方法是什么?

据我所知,我应该将内容放在视图中,然后在调用它们的sizeToFit方法后开始根据它们的框架计算坐标。

这种方法非常容易出错。真的没有别的办法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-02 08:17:00

你说得对,没有自动布局管理器。创建UIScrollView子类并覆盖layoutSubviews可能是实现自定义算法的正确方法。然后,您可以调用setNeedsLayout来进行布局。

票数 6
EN

Stack Overflow用户

发布于 2009-11-02 08:39:26

Cocoa中的布局通常是通过自动调整大小(使用autoresizingMask)完成的。从一些硬编码的初始大小开始,比如200x200;将子视图放在这个视图上,并相应地设置自动调整大小的标志。然后,这个视图可以自由地调整到它的实际大小,如它的父视图/窗口所确定的那样。无论您是使用接口生成器还是以编程方式执行,该过程都是相同的。

如果你需要一个垂直的视图堆栈,你可以使用表视图。

如果你想要更复杂的布局,你需要自己实现它,通过覆盖layoutSubviews

票数 3
EN

Stack Overflow用户

发布于 2009-11-02 08:13:52

我不知道有什么自动布局管理器之类的。

因此,我认为您必须计算所需的位置和大小,并手动更新子视图的frame

编辑:我找到了this question,Brad Larson指出了一个自定义布局管理器的示例。HTH

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

https://stackoverflow.com/questions/1658760

复制
相关文章

相似问题

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