簡體   English   中英

關於iPhone 4s和5上xcode 5中背景圖像問題的自定義UIButton對齊-添加約束不能解決問題

[英]Custom UIButton alignment with respect to background image issues in xcode 5 on iPhone 4s and 5 - addition of constraints does not fix the issues

我在使用背景圖片的UIButton時遇到問題。 在模擬器和iPhone 4s和5中運行代碼時單擊按鈕時,即使按了按鈕外部的區域,也似乎選擇了按鈕

我有一個非常簡單的UI,其中包含一個圖像,然后是另一個圖像(登錄),然后是3個自定義按鈕(Facebook,電子郵件和注冊),然后在最底部顯示一個圖像。

注意-1.每個按鈕的大小(寬度和高度)都等於背景圖像的大小。 因此,如果說背景圖像是100 x 20,那么按鈕將是100 x20。此外,我檢查了“自動布局”,然后將圖像填充到IB中的UIButton中。

  1. 我在Superview中有一個UIView。 所有UI元素(圖像,帶有背景圖像的UIbutton)都放置在UIView中。

  2. 我對UIView的寬度和高度有限制,因此它在iPhone 4s和5中保持不變。我也有一些限制,以確保UIView在水平和垂直方向上居中。

  3. 在視圖中,我對每個UI元素(圖像和帶有圖像的UIbutton)的寬度和高度都有約束,因此在iPhone 4s和5中它保持不變。我在每個元素Y位置也都有約束。 因此,我有一個約束條件,即第一張圖片離UIView頂行的距離為X距離。 然后,我有一個約束,第一個按鈕離頂部圖像的Y距離。 然后,我有一個約束,第二個按鈕到其上方的第一個按鈕的Z距離。 然后,我有一個約束,即最底部的標簽是離UIView的底線的距離。 而且我有一個約束,第三個按鈕是最底部標簽上方的B距離。 這樣做的目的是確保所有這些元素都在iPhone 4s和iPhone 5中位於屏幕的中心(因為UIView會由於其約束而移動到中心,並且其中的UI元素會隨着移動到屏幕的中心)。因為它們的約束是相對於UIView的)。

該項目支持iOS 6、6.1和7。

我開始使用iPhone 4s進行開發和測試。 按鈕似乎在它上工作正常。 然后,我連接了iPhone 5,並在編譯時發現按鈕的可單擊區域和按鈕的背景圖像不再重疊。 我重新連接了iPhone 4s,清理了該項目,然后再次構建它並運行它(在模擬器和設備上),以發現按鈕不再起作用。 在按鈕之外的區域上單擊時,按鈕已被選中。 同樣奇怪的是,在某些情況下,當我觸摸按鈕(即Facebook)時,其下方的按鈕(即電子郵件)被選中。

因此,總而言之,它在iPhone 4s中運行良好。 在已連接的iPhone 5上,按鈕似乎停止正常工作。 重新連接iPhone 4s時,按鈕不再正常工作。 我嘗試刪除所有UI元素並重新啟動構建(在同一情節提要中的同一視圖控制器中),嘗試在同一情節提要中創建一個全新的視圖控制器,但是沒有運氣。 我必須重新開始該項目才能使其在iPhone 4s中起作用。 因此,在我看來,似乎某些故事正在破壞情節提要,甚至無法修復!

我以灰色突出顯示了UIView,以供您參考。

請查看圖像以供參考-UIView變灰且無觸摸的基本屏幕 UIView變灰且無觸摸的基本屏幕

UIView的基本屏幕顯示為灰色,並嘗試單擊Facebook按鈕- 在此處輸入圖片說明

UIView的基本屏幕顯示為灰色,並嘗試單擊“注冊”按鈕下方的不可點擊圖像- 在此處輸入圖片說明

不知道是否有人遇到過這樣的問題,但是,我很想理解並立即修復它,因為這是一個經常發生的問題,並且在我的大多數項目完成后也不想面對它,因為它似乎完全破壞了故事板,因此我重新開始這個項目!

請幫忙。

您是否嘗試過在所有按鈕上調用sizeToFit方法?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM