我不確定發生了什麼以及如何處理此問題。我在單元格中有一個UIView,並使用IB設置約束條件,並由於某種原因將它延伸到單元格的末尾。我怎樣才能阻止它伸展。iOS 6約束使UIView更長
這裏是結果:
我動態注入步進控制,但你可以看到的UIView一直延伸到單元格的結束。我試過pin寬度然後它完全混淆了一切,甚至不顯示UIView。
這裏是約束的截圖:
我不確定發生了什麼以及如何處理此問題。我在單元格中有一個UIView,並使用IB設置約束條件,並由於某種原因將它延伸到單元格的末尾。我怎樣才能阻止它伸展。iOS 6約束使UIView更長
這裏是結果:
我動態注入步進控制,但你可以看到的UIView一直延伸到單元格的結束。我試過pin寬度然後它完全混淆了一切,甚至不顯示UIView。
這裏是約束的截圖:
好吧,讓我在這裏得出一些區別。
的瑣碎的方式,這是你總是有在細胞步進(沒有的UIView)。對於那些我們不應該看到步進器的單元,您將其hidden
設置爲YES;對於我們應該看到它的那些單元,您將其hidden
設置爲NO。那是我會做的。
的程序員的方式做,這是你不有沒有藍色的UIView在你的所有。您可以在代碼中添加步進器,並且您還可以在代碼中提供它的約束來定位它。你說:
所以我沒有硬編碼的座標
但在代碼中添加約束是不「硬編碼」的座標。有了約束條件,你可以根據超級視圖中的插入來從概念上描述的位置,並且隨着超級視圖的大小調整,您仍然可以正確定位。所以沒有哲學反對加入步進器及其約束條件,只是懶惰不這樣做。
該懶惰但浪費的方式是做你在做什麼,即在筆尖添加藍色的UIView作爲指導。即使你使用藍色的UIView作爲指導做,但是,如果你的約束是正確的,你應該能夠做到這一點。我剛剛嘗試過,但無法重現該問題:我的藍色視圖出現在Interface Builder中出現的相同位置的單元格中。
的即時的解決辦法是不使用自動佈局從其中一個UITableViewCell繪製筆尖 - 即取消選中「使用自動版式」中的文件檢查此筆尖。因此,您將使用老式的彈簧和支柱(自動調整)來定位子視圖。
無法取消選中自動佈局! – 2013-04-25 17:02:32
爲什麼不是?我可以。 – matt 2013-04-25 17:35:40
如果步進應該完全地覆蓋藍色的UIView,爲什麼你需要藍色的UIView呢? – matt 2013-04-25 16:56:43
它不得不覆蓋藍色的UIView和我有藍色的UIView的原因是我動態注入條件的步進。正如你所看到的藍色UIView向右擴展。我怎樣才能使它停止擴大和擊中細胞邊界。 – 2013-04-25 16:59:21
但這不是理由;你不需要藍色的UIView爲了注入步進器!只需注入步進器,不用UIView。問題是你不明白如何動態地將步進器添加到單元格的「contentView」中? – matt 2013-04-25 17:00:39