2012-07-13 100 views
0

我的一個xib文件有一個滾動視圖和一個圖像視圖。我在我的圖像視圖中添加按鈕(因爲我想在縮放時讓它們縮放),但是當我點擊它們時沒有任何反應。我相當肯定,這是因爲圖像視圖在滾動視圖中,所以我不能單擊按鈕。當我將按鈕添加到滾動視圖時,我可以點擊它們,但是在縮放時它們不會縮放。視圖層次

我需要的東西:我可以點擊的按鈕在放大和縮小時也會縮放。

我想我需要做的事:添加另一個視圖來放置按鈕。

我不知道:我的觀點層次應該是什麼,以滿足我的需求。

我應該補充說,我在代碼中完成了所有這些操作(不在IB中)。


編輯:圖像視圖是滾動視圖

enter image description here

+0

是否在滾動視圖中包含圖像視圖? – Selkie 2012-07-13 20:38:00

+0

對不起。我將編輯該問題到 – BloonsTowerDefence 2012-07-13 20:42:19

+0

我試過了。該按鈕應可縮放和點擊,如果你把它作爲一個子視圖到圖像視圖。你能發佈你的代碼嗎? – Selkie 2012-07-13 20:58:50

回答

0

那麼我所做的就是把一個UIView作爲UIScrollView的內唯一之內。這就成了它的內容。

這些內容是可縮放的。該視圖中的任何內容也會放大。這應該包括任何按鈕,任何圖像瀏覽或任何其他控制。然後你在scrollview上設置contentSize和contentOffset來設置它應該滾動的「內容」的大小。

我的scrollview有一個UIView是內容,因此我分別使用frame.size和frame.origin來獲取滾動視圖。

我的UIView和UIScrollview的大小相同,並且以高度和寬度靈活地固定在邊上。

這是我用過的scrollview的圖像。

enter image description here

正如你可以看到,滾動視圖只有在其中一個項目。其他一切都在其中。

我在播放器視圖滾動內容中也有標籤。但那麼什麼是移動一個計時器顯示的點...

編輯

這是我使用的viewForZoomingInScrollView代碼:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ 
    if (scrollView == self.playerScrollView){ 
     return self.playerViewScrollContents; 
    } 
    else if (scrollView == self.playerScrollView2){ 
     return self.playerView2ScrollContents; 
    } 
    return nil; 
} 

正如你可以看到我的項目有2個滾動視圖和2個內容。每個滾動視圖一個。

+0

感謝您的回覆,我會試試這個! – BloonsTowerDefence 2012-07-13 20:48:35

+0

好吧,我有幾個問題: 在' - (UIView的*)viewForZoomingInScrollView:(UIScrollView的*)scrollView'我應該返回滾動視圖? 另外我想添加新的UIView的scrollview,但它沒有顯示在.xib文件中的層次結構,這是否意味着它不工作? viewForZoomingInScrollView中的 – BloonsTowerDefence 2012-07-13 20:53:16

+0

:您將返回ScrollContents。這將是滾動視圖內的單個視圖。它的所有內容將滾動和適當放大:) – 2012-07-13 20:57:49