2010-02-20 160 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:我做試試這個,它對我有用......