有人可以为给定方案提供代码示例吗?
答案 0 :(得分:1)
UIScrollView *scrollview = [[[UIScrollView alloc] initWithFrame:CGRectMake(0.0F, 0.0F, 320.0F, 480.0F)] autorelease];
[self.view addSubview:scrollView];
UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];
[button setTitle:@"Title" forState:UIControlStateNormal];
[button setFrame:CGrectMake(0.0F, 0.0F, 50.0F, 50.0F)];
[scrollView addSubview:button];
如果您必须将子视图添加到UIButton,那么您只需按相反的顺序添加:
UIButton *button = [UIButton buttonWithType: UIButtonTypeRoundedRect];
[button setTitle:@"Title" forState:UIControlStateNormal];
[button setFrame:CGrectMake(0.0F, 0.0F, 50.0F, 50.0F)];
[[self.view addSubview:button];
UIScrollView *scrollview = [[[UIScrollView alloc] initWithFrame:CGRectMake(0.0F, 0.0F, 320.0F, 480.0F)] autorelease];
[button addSubview:scrollView];
但除非您在滚动视图上将scrollview
和userInteractionEnabled
属性设置为exclusiveTouch
,否则NO
将阻止该按钮的触摸。但是这会打败我认为在按钮内部滚动视图的目的。
答案 1 :(得分:0)
如果你的按钮无法点击,那么只需查看视图的内容大小(如果是IB,则为self.view)。它应该大于或等于scrollView的大小。在我的情况下,我将scrollView的内容大小设置为 -
self.scrollView.contentSize=CGSizeMake(320,580);
并将视图作为子视图添加到scrollView
[self.scrollView addSubview:self.view];
并没有设置视图的大小。这就是我的错误。默认视图高度为480 在3.5英寸视网膜显示器的情况下和在4英寸视网膜的情况下568。
所以我通过将视图的内容大小设置为 -
来解决这个问题self.view.frame=CGRectMake(0, 0, 320, 700);
并将此视图添加为scrollview的子视图。