我有一个很长的ViewController,里面装满了视图控件(我放置了)。没有足够的空间同时显示所有标签,文本字段等,所以我想使用UIScrollView(或类似的东西),以便用户可以向下滚动页面并查看其余控件。但是,我尝试在ViewController的顶部拖动UIScrollview,然后尝试拖动,但我根本无法拖动屏幕。我该怎么做才能启用此“滚动”功能。这不是TableView - 只是一个常规的ViewController。
答案 0 :(得分:1)
我不确定您的问题是您是否希望在XCode中滚动(您不能)或在您执行代码时滚动。
为了在运行应用程序时滚动视图,滚动视图的内容需要大于其框架。 因此,假设iPhone上的帧是全屏(0,0,320,460),如果你要写:
[self.scrollView setContentSize:CGSizeMake(400, 460)];
然后滚动视图将水平滚动以显示剩余的80个像素。
答案 1 :(得分:1)
以通常的方式创建uibutton
,以通常的方式链接它。 (在 .h 文件中创建出口和操作是我目前正在做的事情),然后告诉计算机你真正希望它在哪里使用:
myButton.frame = CGRectMake(20, 800, 90, 30); //in viewDidLoad is where I put it
查看此主题:How to change the position of a UIButton dynamically
注意:强>
如果您将myButton
设为scrollView
之外的其他视图的子视图,则此功能无效。至少在我的情况下,这不起作用。可以看到该按钮,但点击该按钮不会激活关联的IBAction
。
这有效:
[scrollView addSubview:myButton];
虽然似乎没必要。
答案 2 :(得分:0)
您需要在底部设置滚动视图,然后粘贴所有视图控制器。
答案 3 :(得分:0)
首先将UIScrollView拖到当前视图中
然后开始复制粘贴其中的所有视图,形成原始视图
请检查此答案 Are there any good UIScrollView Tutorials on the net?
答案 4 :(得分:0)
我相信您正在使用Interface Builder / storyboard来布局您的内容。请按照以下步骤操作:
将scrollview的contentSize设置为大于其框架。例如
self.scrollView.contentSize = CGSizeMake(320.0f, 1000.0f);
在IB中添加UIView到scrollView。 UIView的大小应与scrollview的contentSize相同。
答案 5 :(得分:0)
这是一种更好的方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(aMethod:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];
我在这里找到了这段代码:How do I create a basic UIButton programmatically?,由mahboudz发布
这与我上面提到的基本相同,但是所有这些都是以编程方式进行的,它带有您应该(尚未尝试过)的奖励,例如,能够使用for循环创建多个这样的按钮。