2010-05-20 54 views
1

過去幾天我一直在嘗試不同的事情,並且我已經用完了想法,所以我正在尋求幫助。情況是,我在用戶單擊按鈕後顯示我的應用內購買商店視圖。按下按鈕,顯示視圖。商店顯示正常。在這個視圖中,我有幾個標籤和產品描述,然後在它們下面有價格和一個購買按鈕,這會觸發應用內購買。問題是,當我將手機旋轉到風景時,「購買」按鈕不再響應,很奇怪。在肖像中正常工作。UIButton在進入橫向模式後停止響應 - iPhone

當我觸摸按鈕時,景觀中的行爲不算什麼。它似乎沒有按下,被選中或任何東西,只是沒有響應我的觸摸。但是當我旋轉回肖像甚至顛倒肖像時,它可以正常工作。

這裏是我在IB的視圖的粗略結構,所有的旋轉和佈局都是在IB中設置的。我在IB中設置了自動調整大小,以便橫向上的所有內容都可以正常顯示,而「購買」按鈕水平放大一點。在我的代碼中唯一的佈局操作是在加載之後,我設置了滾動視圖的內容大小。

File Owner with view set to the scrollView  
/scrollView 
----/ view 
--------/ label 
--------/ label 
--------/ label 
--------/ label 
--------/ label 
--------/ label 
--------/ label 
--------/ label 
--------/ uibutton (Buy) 

取向的變化後,我打印出來的滾動視圖和按鈕的userInteractionEnabled財產,他們都在所有方向TRUE。

想法?或者,也許還有其他一些顯示購買按鈕的方式,不會失效?我已經開始了一個分支,它使用一個工具欄並將購買按鈕放置在那裏,但我似乎無法讓滾動時留在原地。

回答

1

因爲我無法獲取UIButton的正常工作,我結束了剛剛報廢按鈕,創建一個包含一切,我現在有一個新的父視圖,然後將其下一個工具欄,並把在那裏的按鈕。這個問題看起來並不像我這麼多時間,這就是爲什麼我採取了不同的方式。

File Owner with view set to the parent view 
/view 
----/ scrollView 
--------/ view 
------------/ label 
------------/ label 
------------/ label 
------------/ label 
------------/ label 
------------/ label 
------------/ label 
------------/ label 
----/ toolBar 
--------/ barbutton (Buy) 
0

嗯,也許按鈕是在一個UIView,不像設備那樣旋轉,那麼你總是看到你的按鈕,但不是傳播觸摸的視圖容器。

您可以在IB中檢查其容器中的視圖的錨點或進行編碼。

+0

如果視圖有一個bgcolor,我可以看到按鈕後面的顏色,這是否意味着按鈕是在視圖的範圍內?這就是我所看到的。因此,如果我可以假定該按鈕位於視圖內,還有什麼其他原因可能導致觸摸不被傳遞?在風景中,按鈕會在屏幕下方下降,這是通過滾動來實現的。 scrollview與它有什麼關係? – casey 2010-05-20 15:45:12

+0

是的,如果你看到bgcolor,那麼按鈕進入視圖。我不知道可能是什麼問題,也許是滾動問題。抱歉。 – emenegro 2010-05-21 11:22:39

3

聽起來像你解決了你的問題,但爲了防止其他人來找我,我遇到了類似的問題,並找到了解決方案。

我在編程上添加了scrollview。然後我會調用setContentSize來確保滾動視圖與我想要顯示的視圖一樣高。我顯示的視圖是用UIViewAutoresizingFlexibleWidth和UIViewAutoresizingFlexibleHeight設置的。

當我在測試時旋轉到橫向模式時,它看起來像我的子視圖都在那裏,但當我向下滾動時我無法點擊任何東西。我認爲問題在於,因爲我的子視圖被設置爲具有靈活的高度,所以當scrollview縮小時它被垂直縮小。也許我還在按預期看到它,因爲我沒有剪裁或什麼?

無論哪種方式,一旦我只有我的子視圖有一個靈活的寬度,一切工作再次。您應該能夠以編程方式或在界面構建器中關閉靈活高度(方框中的箭頭指向上和下)。

相關問題