Shinonuma
Shinonuma

Reputation: 491

Cannot scroll when adding UIScrollView to UIView

I'm trying to add a scrollview to my UIView, and put a label, textview, image on it but the scroll bar doesn't show up and I can't scroll.

    //faux view
UIView* fauxView = [[[UIView alloc] initWithFrame: CGRectMake(10, 10, 200, 200)]autorelease] ;
[self.bgView addSubview: fauxView];

//the new panel
self.bigPanelView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, self.bgView.frame.size.width, self.bgView.frame.size.height)]autorelease];
self.bigPanelView.center = CGPointMake( self.bgView.frame.size.width/2, self.bgView.frame.size.height/2);
self.bigPanelView.backgroundColor = self.initialBackgroundColor;


UIScrollView * scroll = [[UIScrollView alloc] initWithFrame:self.bigPanelView.bounds];
[scroll setContentSize:CGSizeMake(200, 200)];
[self.bigPanelView addSubview:scroll];
scroll.showsVerticalScrollIndicator = YES;



// add label

UILabel *lblTitle = [[[UILabel alloc] initWithFrame:CGRectMake(0, 25, self.bgView.frame.size.width, 46)]autorelease]; 
// If I change the 25 to 235 the label will come under the screen but still I cannot    scroll.
lblTitle.textAlignment = NSTextAlignmentCenter; // Align the label text in the center
lblTitle.backgroundColor = [UIColor clearColor];
lblTitle.text = self.initialTitle;
lblTitle.textColor = self.initialTitleColor;
lblTitle.font = [UIFont systemFontOfSize:31];
[scroll addSubview: lblTitle]; 

Upvotes: 0

Views: 806

Answers (2)

mprivat
mprivat

Reputation: 21902

You have to make the scrollview's contentSize larger than the view:

[scroll setContentSize:CGSizeMake(200, 200)];

needs to be something like:

[scroll setContentSize:CGSizeMake(400, 400)];

Of course, make that the size of the content of whatever you're going to put the scroll view, and that way, it only scrolls if needs to.

Upvotes: 3

arun.s
arun.s

Reputation: 1528

For Scrolling - The scrollView contentSize should be larger then the scrollView frame.

Upvotes: 2

Related Questions