好吧,我一直在努力解決這個問題整天,我越來越接近。我試圖創建一種方法來查看多個可以放大圖像的scrollView/imageView嵌套對。如何實現兩個單獨的UIScrollViews與嵌套的UIImageViews ...只有一個是放大
當視圖加載時,只有一個scrollView佔據了整個屏幕,但是當按下按鈕時,我將第一個scrollView的寬度減半,並取消隱藏另一個(它具有嵌套的imageView in它也是)就在它旁邊。所以有一個分割視圖效果,理想情況下用戶將能夠分別捏和放大每個圖像。
所以我除了單獨的捏和縮放部分以外所有工作。無論我在屏幕上哪裏捏,只有第一個scrollView放大。所以即使我觸摸另一個scrollView,它仍然隻影響第一個。
我有他們設置在IB,然後他們設置在viewDidLoad中這樣說:
[scrollView setBackgroundColor:[UIColor blackColor]];
[scrollView setCanCancelContentTouches:NO];
scrollView.clipsToBounds = YES; // default is NO, we want to restrict drawing within our scrollview
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.minimumZoomScale = 1;
scrollView.maximumZoomScale = 5;
scrollView.delegate = self;
[scrollView setScrollEnabled:YES];
imageView3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"monitor.JPG"]];
[scrollView addSubview:imageView3];
//[scrollView setFrame:CGRectMake(0, 0, 1024, 660)];
[scrollView1 setBackgroundColor:[UIColor blackColor]];
[scrollView1 setCanCancelContentTouches:NO];
scrollView1.clipsToBounds = YES; // default is NO, we want to restrict drawing within our scrollview
scrollView1.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView1.minimumZoomScale = 1;
scrollView1.maximumZoomScale = 5;
scrollView1.delegate = self;
[scrollView1 setScrollEnabled:YES];
imageView31 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"monitor.JPG"]];
[scrollView1 addSubview:imageView31];
然後我隱藏和取消隱藏不同scrollViews(取決於工具欄上的segmentedControl指數40我上午我在正確的方向前進?是否有可能有兩個單獨訪問scrollViews?
任何幫助,將不勝感激。
謝謝!
編輯:
好吧,所以我通過並更新了clipToBunds位... DUH。它絕對讓它看起來更好,但仍然沒有解決問題。以下是我要調用的代碼,具體取決於所選索引:
-(void) pickedOne{
if(segment.selectedSegmentIndex == 0){
[scrollView setFrame:CGRectMake(0, 0, 1024, 660)];
[scrollView setContentSize:CGSizeMake(1024, 660)];
scrollView.hidden = NO;
scrollView1.hidden = YES;
scrollView2.hidden = YES;
scrollView3.hidden = YES;
}else if(segment.selectedSegmentIndex == 1){
[scrollView setFrame:CGRectMake(0, 0, 512, 660)];
scrollView.zoomScale = 1.0;
scrollView.hidden = NO;
[scrollView1 setFrame:CGRectMake(512, 0, 512, 660)];
scrollView1.zoomScale = 1.0;
scrollView1.hidden = NO;
scrollView2.hidden = YES;
scrollView3.hidden = YES;
}
該方法有什麼重大錯誤嗎?
如果我縮小放大右側的scrollView,它會使滾動視圖更大(但不會增加scrollView2圖像的大小),但它會增加第一個scrollView圖像的大小,無論scrollViews ...奇怪
嘿謝謝你的回答,我發佈了一個編碼的代碼。請注意,在最底部,我能夠清楚地識別正在發生的確切行爲,就像它正在工作一樣... – Jarom 2011-03-05 00:41:12
可能您已將視圖層次結構混淆起來。如果您在任何'UIView'上調用'recursiveDescription',它將返回所有子視圖的完整描述。嘗試以這種方式記錄您的頂級視圖,看看您是否有意外看到另一個視圖。 – Jim 2011-03-05 01:07:49