如果標題沒有告訴你任何東西,這裏是我最近發現並且很好奇的: 在我的應用程序中,我有一個帶有按鈕的UIScrollView。這些按鈕都有一個子視圖 - UILabel的一個實例。有時會觸發某個特定的事件來改變標籤中的文本,並且我還需要更改標籤和按鈕的框架,以便可以顯示整個文本(不會被截斷)。所以我只是抓住了按鈕的第一個子視圖,並檢查了它的文本需要多少空間。爲什麼UIScrollView在滾動時將UIImageView子視圖添加到它的子視圖
如果在滾動期間發生該事件,則會導致崩潰。原來,除了標籤,每個按鈕都有另一個子視圖,它是UIImageView的實例。起初,我認爲在滾動期間,UIScrollView需要對其子視圖進行「截圖」,並將圖像置於頂部,以便在性能方面使動畫滾動更便宜。然而,這個邏輯有缺陷,因爲UIImageView是索引爲0的子視圖,所以它被放在我的標籤下面。
任何人都知道爲什麼會發生這種情況?蘋果工程師用這個奇怪的機制試圖達到什麼目的?
請注意,它實際上可能只發生在按鈕上。另外,我檢查了標籤,但他們沒有任何子視圖。
我的按鈕沒有任何背景圖片是透明的。此外,這隻發生在滾動進行中,否則唯一的子視圖就是標籤。可能有些事情要做。 – johnyu
剛剛編輯我的答案,給你一個建議,確保你只拉出標籤,所以你最終沒有一個實際上沒有框架的對象。 – sfeuerstein
我已經修好了。我只是在這裏問爲什麼圖像視圖出現的想法。純粹出於好奇。 – johnyu