如何将ScrollView放在ViewController上

时间:2013-01-24 08:09:05

标签: ios xcode uiscrollview

我想把Scrollview放在viewcontroller上?可能吗?我还想把UIView放在ScrollView上。

UIScrollView *scrollView =[[UIScrollView alloc]initWithFrame:CGRectMake(20, 60, 280, 200)];
    scrollView.contentSize = CGSizeMake(280, 200);
    scrollView.backgroundColor=[UIColor orangeColor];
    scrollView.delegate = self;
    [self.view addSubview:scrollView];

    UIView *container = [[UIView alloc] initWithFrame:CGRectMake(20, 60, 280, 200)];
    container.backgroundColor = [UIColor whiteColor];
    [scrollView addSubview:container];

在这段代码中,我试图将scrollview放在VC上,并且我也尝试将View放在ScrollView上。

            rb1 = [[RadioButton alloc] initWithGroupId:@"first group" index:j];
            rb1.frame = CGRectMake(20,dy,22,22);
            [container addSubview:rb1];
            [rb1 release];

            label1 =[[UILabel alloc] initWithFrame:CGRectMake(50, dy, 60, 20)];
            label1.backgroundColor = [UIColor clearColor];
            label1.text = [answers objectAtIndex:j];
            [container addSubview:label1];

在这里我尝试将一个单选按钮放在View上。

我希望很清楚:)抱歉我的英语不好。谢谢。

3 个答案:

答案 0 :(得分:0)

在这里,您将相同的内容大小设置为滚动大小:

scrollView.contentSize = CGSizeMake(280, 200);

在内容大小中,您应输入要滚动的区域大小。在您的情况下,滚动不需要滚动,因为可滚动区域与scrollView大小相同。

答案 1 :(得分:0)

尝试将滚动视图放在控制器上

#import <UIKit/UIKit.h>

@interface YourClass : UIViewController {

IBOutlet UIScrollView *scrollView;

}


@property (nonatomic, retain) UIScrollView *scrollView;

@end

把v / v试试这个

   NSUInteger scrollContentCount = 0;

   for (NSUInteger arrayIndex = 0; 
         arrayIndex < [contents count]; 
         arrayIndex++) {


    // set scorllview properties
    CGRect frame;
    frame.origin.x = self.mScrollView.frame.size.width * arrayIndex;
    frame.origin.y = 0;
    frame.size = self.mScrollView.frame.size;

    myScrollView.autoresizingMask = YES;

    // alloc - init PODetailsView Controller
    myController = [[MyController alloc] initWithNibName:@"MyController" bundle:[NSBundle mainBundle]];

    [myController.view setFrame:frame];

    // add view in scroll view
    [self.myScrollView addSubview:myController.view];

    scrollContentCount = scrollContentCount + 1;
}

 // set scroll content size
 self.myScrollView.contentSize = 
CGSizeMake(self.myScrollView.frame.size.width * scrollContentCount, 
                     self.myScrollView.frame.size.height);
  }

答案 2 :(得分:0)

当滚动视图的帧小于您的内容大小时,会发生滚动。

您的相框尺寸(280,200),并且您为contentSize提供了相同的尺寸。

要使滚动可以在下面替换为代码。

scrollView.contentSize = CGSizeMake(300,260);