2010-02-20 161 views
1

我有一个UITableViewController子类有一个容器UIView其中有2个子视图中的一个:tableview或UIScroll,具体取决于视图是否被“翻转”。containerView内的滚动视图不会滚动?

我viewDidLoad中()方法增加所述的tableview到容器:

[kContainerView addSubview: self.tableView]; 
self.view = kContainerView; 

并用900x600图像初始化的UIScrollView和将其自身设置为代表:

kSBCanvasScrollView = [[UIScrollView alloc] initWithFrame:bounds]; 
[kSBCanvasScrollView setDelegate: self]; 
kSBImage = [[UIImageView alloc] initWithImage:img]; 
[kSBCanvasScrollView addSubview:kSBImage]; 
[kSBCanvasScrollView setContentSize:[img size]];  
[kSBCanvasScrollView setMinimumZoomScale:0.5]; 

的前“表一边“的视图工作正常。然后我翻转视图,当用户通过执行以下操作选择工具栏上的按钮:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:2.0f]; 
[UIView setAnimationDelegate:self]; 

if (kSBCanvasIsVisible==NO) { 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:kContainerView cache:YES]; 
    [self.tableView removeFromSuperview]; 
    [kContainerView addSubview:kSBCanvasScrollView]; 
    kSBCanvasIsVisible = YES; 
} else { 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:kContainerView cache:YES]; 
    [kSBCanvasScrollView removeFromSuperview]; 
    [kContainerView addSubview:self.tableView]; 
    kSBCanvasIsVisible = NO; 
} 
[UIView commitAnimations]; 

它翻转,就像我想要的,但kSBCanvasScrollView不滚动。捏手势的作品。为什么视图不滚动?也许它涉及到这是一个TableViewController的事实?

+0

我认为滚动视图能够正常工作,它必须有一个比iPhone屏幕更大的框架尺寸,看起来不像你在这里设置框架尺寸。如果你喜欢我的应用程序的一些代码 – 2010-02-23 23:54:55

+0

实际上,为了scrollView能够滚动,它有一个sma比它的内容更轻松。 OP,你使用了什么限制 ,你能确保它比[img size]大吗? – 2012-11-29 08:01:20

回答

0

是你的scrollview 320 x 460吗?我不得不做出滚动视图相同,或比iPhone屏幕要小,它的工作(在IB,但在

[kSBCanvasScrollView setContentSize:[img size];). 

不一定是你写:

[kSBCanvasScrollView setScrollEnabled:YES]; 

PS:我做试试这个,它对我有用......