如何以编程方式创建UIScrollView? [英] How to create a UIScrollView Programmatically?

查看:130
本文介绍了如何以编程方式创建UIScrollView?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好吧,所以这里的关键是我根本不使用IB,因为我正在使用的View是以编程方式创建的。 UIView 覆盖了屏幕的下半部分,上面有一串按钮。但是,我想在 UIView 中添加更多按钮,而不会更大。为此,我想在视图中创建一个 UIScrollView ,这样我就可以在屏幕上添加更多按钮,以便用户可以滚动到它们。我认为它是如何工作的。

Alright, so the key here is I'm not using IB at all, because the View I'm working with is created programmatically. The UIView covers the lower half the screen, and has a bunch of buttons on it. However, I want to add more buttons to the UIView, without making it any larger. To do so, I want to make a UIScrollView inside the view, which will allow me to add more buttons off screen so the user can scroll to them. I think that's how it works.

self.manaView = [[[UIView alloc] initWithFrame:frame] autorelease];
self.manaView.backgroundColor = [UIColor purpleColor];

UIScrollView *scroll = [UIScrollView alloc];
scroll.contentSize = CGSizeMake(320, 400);
scroll.showsHorizontalScrollIndicator = YES;
[self.manaView addSubview:scroll];

代码的第一部分支持我的 UIView ,效果很好,但我无法弄清楚如何以编程方式制作 UIScrollView 并将其添加到视图中,然后将按钮添加到该视图中。

The first part of the code iniates my UIView, which works great, but I can't figure out how to make the UIScrollView programmatically and add it to the view, and then add the buttons to it.

UIButton *ret2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
ret2.tag = 102;
ret2.frame = CGRectMake(255, 5, 60, 50);
[ret2 setTitle:@"Return" forState:UIControlStateNormal];
[ret2 addTarget:self action:@selector(flipAction:) forControlEvents:UIControlEventTouchUpInside];
[scroll addSubview:ret2];

当我这样做时,按钮就会从屏幕上消失。那么我该怎么做呢?谢谢你的帮助!

When I did that, the button simply disappeared off my screen. So How do I do this correctly? Thank you for your help!

推荐答案

而不是:

UIScrollView *scroll = [UIScrollView alloc];

执行此操作(将帧设置为您希望滚动视图的大小):

do this (setting the frame to however big you want the scroll view to be):

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:...];

这篇关于如何以编程方式创建UIScrollView?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆