我有我所有的接口生成器布局控件(许多标签,按钮等)。 如何把他们都在滚动视图界面生成器,这样我可以有更多的空间,并能够向上和向下滚动透露更多的控制? 我必须以编程方式做到这一点?
Answer 1:
打开具有所有的控制和标签等(在界面生成器)的视图。 全选。 然后编辑菜单下,选择嵌入,然后滚动查看。
注:在老年Xcode的版本中,这是布局菜单下,然后嵌入对象在...(滚动视图)。
Answer 2:
我首选的方案,在这里你不需要硬编码的contentSize的大小:
注意:您可能能够避免使用此招的这个源代码部分: https://stackoverflow.com/a/11239123/153422 -虽然我还没有尝试过呢。
这一招的其余部分...你仍然有需要用到
将所有控制到一个单一的UIView(在IB:全选,然后去布局>嵌入对象在...>查看)
联播是单一的UIView使用一个IBOutlet属性的源代码(见下文)
源代码,而不是接口生成器(IB在这里被打破,它有缺陷,它设置的UIScrollView的起源错误 - 它试图中心看苹果从未费心去检查它的基本错误,叹息):将单一的UIView成一个UIScrollView(见下面的代码)。
使用sizeThatFits为“自动”设置正确的大小。
代码(StackOverflow上不会让我把代码编号列表里叹气)
头文件:
/** outlet that you hook up to the view created in step 1 */
@property(nonatomic, retain) IBOutlet UIView *masterView;
类文件:
/** inside your viewDidLoad method */
[scrollview addSubview: masterView]; // step 3
scrollView.contentSize = [masterView sizeThatFits:CGSizeZero]; // step 4
......虽然我没有检查这家最近,IIRC它工作在两个2.x和3.x
Answer 3:
这很简单:
首先一个滚动视图添加到您的视图。 更改滚动视图的大小(例如将其700个像素长)。 开始把你的控件时要放在较低(invisble)部分/编辑控件,选择滚动视图和更改Y-开始位置-300。 瞧。 编辑后设定的Y起始位置回0或不管它是什么。
Answer 4:
我不知道这是否只是我,但我试图按照每个这里的其他答案的指示,没有一次成功。 包含的一切所需要的答案都不对,每一个我想假设我们知道做这样的东西留下的那部分。 我最后的帮助下计算出来的红色工匠。 所以......我在这里列出了所有必要的措施来得到这个工作:
InterfaceBuilder下,添加一个视图,然后添加你控制它(或者,如果在主视图中已经存在的控件,您可以选择所有控件,然后去编辑|嵌入|查看,然后拖动新的View所以它是所有的本身主视图之外)。 该视图可以是任何你喜欢的大小。
InterfaceBuilder下,添加一个滚动查看到您的主视图,并调整其大小,以占据整个主视图。
添加下面列出您的UIViewController头和类文件的代码。
InterfaceBuilder下,挂钩包含您的控件在文件的所有者“内容查看”查看。 挂钩的滚动视图“滚动视图”中的文件的所有者。
头文件:
@interface MyViewController : UIViewController @property(nonatomic, retain) IBOutlet UIScrollView *scrollView; @property(nonatomic, retain) IBOutlet UIView *contentView;
类文件:
@synthesize scrollView, contentView; - (void)viewDidLoad { [super viewDidLoad]; [self.scrollView addSubview:self.contentView]; self.scrollView.contentSize = self.contentView.bounds.size; } - (void)viewDidUnload { self.scrollView = nil; self.contentView = nil; [super viewDidUnload]; }
Answer 5:
选择所有要投入滚动视图并转到布局菜单,选择“嵌入对象在”,然后选择“滚动型”的对象。
Answer 6:
虽然这个问题很老了,我会建议一个解决办法,我发现我有同样的问题,并没有能够找到太多的帮助在那里:
当IB,如果你要放置420像素之外的对象,只要确保自己在选择未指定的所有状态栏,上栏,其中包含与所有对象滚动视图查看底酒吧的。 这样,你就可以手动调整画面(用于查看)。 然后,您可以按照调整为滚动视图H值,可以使用所有其他的对象,与他们一起工作Ximonn的意见,然后对H值为撤消更改,然后设置所需的钢筋。
Answer 7:
重要的小东西。 要滚动大子视图(UIImageView的举例)在UIScrollView的记得,这个子视图,取消“用户交互启用”复选框中的InterfaceBuilder - >查看窗口。 或编程做到这一点。
subview.userInteractionEnabled = NO;
否则,此子视图会在屏幕上叠加无任何影响。
Answer 8:
我一直在寻找这几天,我终于碰到这个网站来了,对我工作的解决方案。
与滚动的UIScrollView
基本上,你有你在这一个UIScrollView客体主视图。 然后在它所有的内容另一内容视图。 然后添加内容画面滚动视图。 然后最后设置了滚动的内容大小的尺寸,以内容视图的大小。
Answer 9:
我知道,这个线程是一个年纪大一点......但有人能找到它的谷歌,它的HIGHT排名。 我写了这个小辅助方法来完成这项工作:
- (void)addSubview:(UIView *)theSubView toScrollView:(UIScrollView *)theScrollView
{
[theScrollView addSubview:theSubView];
theScrollView.contentSize = theSubView.bounds.size;
}
你只需要在标题中声明两个IBOutlet中的(如contentView
和scrollView
),并调用这样的方法,等。无论您想在加载UIView
到UIScrollView
与源代码:
[self addSubview:contentView toScrollView:scrollView];
我把它叫做在viewDidLoad中
这种方法具有的iOS
Answer 10:
所选择的答案很适合的Xcode 3。
然而,对于Xcode的4,菜单已略有重新排列。
做同样在Xcode 4中选择你的意见,然后使用:
编辑>嵌入>滚动查看