首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Interface中组合根视图的子视图?

如何在Interface中组合根视图的子视图?
EN

Stack Overflow用户
提问于 2010-08-12 21:24:57
回答 1查看 521关注 0票数 0

我试图创建一个充满控件(按钮、文本视图、标签等)的视图。这可以滚动,因为我没有足够的屏幕空间为所有的控件。我知道,我需要我的应用程序中的根视图成为一个UIScrollView,并且我需要在它上附加一个包含我所有控件的UIView。问题是,当我将根视图设置为UIScrollView,并将一个UIView添加到根视图后,Interface将不允许我定位任何控件,它只是将所有控件都放在中间。

  1. :我是否正确地理解了如何制作视图滚动?如果是的话,如何让接口生成器允许我定位控件?一旦我能够这样做,如何在界面生成器中定位控件,因为它将是可滚动的?

提前谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-12 22:07:08

根据我的经验,最好将UIView作为根视图,然后将UIScrollView作为该视图的唯一填充屏幕的子视图。在代码(丑陋的强制转换)和扩展时省去了一些麻烦(之后如何在其中放置一些屏幕固定元素?)

如果你想把它保存在IB里

  • 将您自己的自定义视图添加到库中(对不起,没有使用该视图的经验),或者
  • 只是将大UIView放在滚动视图中并按其x/y位置定位元素,或者
  • 将您的根视图状态栏设置为未指定的大小,以便您可以将根视图大小调整到正确布局滚动视图内容所需的大小,完成后,将其再次包装为320x480 (但请确保禁用对正确元素的自动调整,否则调整大小操作将破坏您的工作),或者
  • 分别设计UIView,并将其作为滚动视图的子视图拖放到文档窗口中!使用cmd-0,那个窗口!在你把东西扔进去之前,父母会点亮的。将删除子视图的左上角x,y设置为0,0。(此方法要求每次拖放时将所有出口链接起来)

如果选择采用非IB路由,则设计UIView并将其保存为nib,然后在根控制器加载时以编程方式加载nib。(关于这个话题有很多)当你正确的时候,从设计/IB的角度来看,这将是最友好的方式。

所以..。有很多选择,但都不是很好。IB可以创造奇迹,但你需要一些时间来理解它。(我还在挣扎.因此,欢迎提出建议)

为了清晰起见,我典型的视图-滚动视图-视图元素布局看起来像假数字,比如:

代码语言:javascript
复制
View (320x480-ish)
    Scroll View (320x480-ish)
        View (1024x1024)
            Label (positioned 0,0)
            Button (positioned 500,900)
            ImageView (1024x800, positioned 0,100)
    UISearchBar (possibly, always on screen, above scrollview or sliding in, ...)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3472184

复制
相关文章

相似问题

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