0

我有一个很长的 ViewController,里面装满了视图控件(我放置的)。没有足够的空间一次显示所有标签、文本字段等,所以我想使用 UIScrollView(或类似的东西),这样用户就可以向下滚动页面并查看其余控件。但是,我尝试将 UIScrollview 拖动到 ViewController 上,然后尝试拖动,但我根本无法拖动屏幕。我能做些什么来启用这个“滚动”功能。这不是 TableView - 只是一个普通的 ViewController。

4

6 回答 6

1

我不确定您的问题是您是否希望在 XCode 中滚动(您不能)或在执行代码时滚动。

为了在运行应用程序时滚动视图,滚动视图的内容需要大于其框架。因此,假设框架在 iPhone 上是全屏的(0,0,320,460),如果你要写:

[self.scrollView setContentSize:CGSizeMake(400, 460)];

然后滚动视图可以水平滚动以显示剩余的 80 像素。

于 2012-06-03T08:37:58.833 回答
1

以通常的方式创建您uibutton的,以通常的方式链接它。(在.h文件中创建出口和操作是我目前正在做的事情),然后告诉计算机您实际希望它使用的位置:

myButton.frame = CGRectMake(20, 800, 90, 30); //in viewDidLoad is where I put it

查看此线程: 如何动态更改 UIButton 的位置

注意:
如果您创建myButton视图的子视图而不是scrollView. 至少在我的情况下,这不起作用。可以看到该按钮,但单击它并没有激活关联的IBAction.

这有效:

[scrollView addSubview:myButton];

虽然这似乎没有必要。

于 2013-03-24T02:41:46.253 回答
0

您需要在底部设置滚动视图,然后将所有视图控制器粘贴在上面。

于 2012-06-03T08:25:06.877 回答
0

首先将 UIScrollView 拖到当前视图中

然后开始复制粘贴其中的所有视图,形成原始视图

请检查这个答案 网上有什么好的 UIScrollView 教程吗?

于 2012-06-03T08:25:36.857 回答
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];

我在这里找到了这段代码:如何以编程方式创建基本的 UIButton?, 由 mahboudz 发布

这与我上面所说的基本相同,但都是以编程方式完成的,这带来了你应该(还没有尝试过)的好处,例如,能够使用 for 循环创建多个这样的按钮。

于 2013-03-24T18:21:02.860 回答
0

我相信您正在使用 Interface Builder / storyboard 来布局您的内容。按着这些次序:

  1. 像你一样在 IB 中布局你的 UIScrollView。在 Size Inspector 中将其宽度和高度设置为 320 x 460。
  2. 将滚动视图作为 IBOutlet 连接到您的 .h 文件。我将它命名为scrollView。
  3. 将滚动视图的 contentSize 设置为大于其框架。例如

    self.scrollView.contentSize = CGSizeMake(320.0f, 1000.0f);
    
  4. 在 IB 中将 UIView 添加到 scrollView。UIView 的大小应该与滚动视图的 contentSize 相同。

  5. 在 UIView 上布局内容时,将 Size Inspector 中的 UIView 的 Y 设置为 -400(或您想要偏移的任何值),您将能够在 UIView 中布局更多元素。
于 2013-03-24T03:22:01.857 回答