2013-10-11 94 views
1

我試圖設置一個UIImageView具有在故事板中沒有固定的大小和寬度。我將容器的前導空間設置爲大於或等於20,將容器的頂部空間設置爲大於或等於20,將容器的尾部空間設置爲大於或等於20並將垂直間距設置爲UICollectionView,則UICollectionView滿足限制。但是UIImageView不起作用,它告訴我它的位置和大小不明確。我怎樣才能使它工作?我的想法是,無論圖像視圖有多大,它總是會保持領先,頂部,尾部和底部的20個空間。位置和大小是不明確的爲「圖像視圖」

我已經設置的高度和寬度爲大於或等於某一值,並且它們的優先級爲999,它比領先的,頂部和後優先級。我已經將imageview設置爲水平居中。但我得到的高度和垂直位置模糊的「圖像視圖」。

http://i39.tinypic.com/24wxbh4.png

+0

如何從代碼張貼一些代碼/日誌? –

+1

沒有代碼。請看照片。 –

回答

4

你可以看到當你添加的高度和寬度限制到UIImageView會發生什麼,但設置它們的優先級,以一些低價值,例如1?它應該有所幫助,但現在UIImageView不會居中。您可以通過將UIImageView放在另一個視圖(空的UIView)中並將其居中放置在水平和垂直中來修復它。

+1

我已將高度和寬度設置爲大於或等於某個值,並將其優先級設置爲999,它低於前導,頂部和尾部優先級。我已經將imageview設置爲水平居中。但我得到的高度和垂直位置模糊的「圖像視圖」。 –

+2

@yongho留下你約束他們,但增加新的約束寬度和高度(相等,不大於或等於)優先等於1試想一下:如果沒有圖像設置(請閱讀'intrinsicContentSize' ),所有你有兩個「大於或等於」約束,那麼自動佈局將不知道你想要的邊距,因爲許多對將滿足約束。 –

+0

感謝它的工作。雖然它說縱向位置是模棱兩可的,但線條終究都是藍色的。 –

0

如果你想通過編碼給保證金之類的話到按鈕後,除請嘗試這些如果它會工作

[button_Name setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 12.0, 0.0, 0.0)]; 

我希望這將工作.. !!!

+0

我正在試圖在故事板中。我不希望保證金是固定的。 –

+0

拿按鈕作爲IBOutlet屬性比嘗試.. !! :) – Indra

2

當你收到此錯誤:

Position and size are ambiguous for 「view」

也許下面的約束缺失/錯誤地設置:

  1. 寬度約束(大小問題)
  2. 高度約束(大小問題)
  3. 對齊約束(位置問題)
1

如果您使用堆棧視圖,請確保Photo Image View位於堆棧視圖內! (如蘋果教程)

+0

而且對於UIStackView,請參見[here](https:// stackoverflow。com/questions/45428953/height-and-vertical-position-are-ambiguous-for-uistackview/45428954#45428954) – SparkyRobinson

+0

這就是爲了我,謝謝!我正在研究'FoodTracker'教程,我沒有在'Stack View'中包含'UIImageView'。 – Andi

相關問題