ero*_*ppa 20 iphone interface-builder
我将所有控件都放在界面构建器中(许多标签,按钮等).如何将它们全部放在界面构建器的滚动视图中,以便我可以拥有更多空间并能够向上和向下滚动以显示更多控件?我是否必须以编程方式执行此操作?
mah*_*udz 30
打开包含所有控件和标签等的视图(在Interface Builder中).全选.然后在"编辑器"菜单下,选择"嵌入",然后选择"滚动视图".
注意:在较旧的Xcode版本中,这是在Layout菜单下,然后嵌入对象...(滚动视图).
Ada*_*dam 25
我首选的解决方案,您不需要对contentSize的大小进行硬编码:
注意:您可以使用这里的技巧来避免源代码部分:https://stackoverflow.com/a/11239123/153422 - 虽然我还没有尝试过.
这个技巧的其余部分......无论如何你仍然需要使用
将所有控件移动到单个UIView中(在IB中:选择全部,然后转到布局>嵌入对象...>视图)
使用IBOutlet属性将单个UIView连接到源代码(见下文)
在源代码中,不是界面构建器(IB在这里被破坏,它有错误地设置UIScrollView的原点 - 它试图使视图居中.苹果从不打扰检查它的基本错误,叹息):移动单个UIView进入UIScrollView(见下面的代码).
使用sizeThatFits"自动"设置正确的大小.
代码(StackOverflow不允许我将代码放在编号列表中.叹气)
头文件:
/** outlet that you hook up to the view created in step 1 */
@property(nonatomic, retain) IBOutlet UIView *masterView;
Run Code Online (Sandbox Code Playgroud)
班级档案:
/** inside your viewDidLoad method */
[scrollview addSubview: masterView]; // step 3
scrollView.contentSize = [masterView sizeThatFits:CGSizeZero]; // step 4
Run Code Online (Sandbox Code Playgroud)
...虽然我最近没有检查过这个问题,但IIRC对2.x和3.x都有效
| 归档时间: |
|
| 查看次数: |
24535 次 |
| 最近记录: |