2012-10-02 127 views
0

我有5個按鈕,在視圖的右側對齊。我有一個方法,它採用發件人的框架(按鈕),創建一個UIImageView與該框架,從超級視圖中刪除發件人,並在該位置添加imageView,它的作品除了這些約束弄得我。制約我搞砸

這似乎是當我刪除其中一個按鈕,它改變了所有其他的大小,我不能解釋爲什麼。

我很想簡單地刪除自動佈局功能,但我想爲iPhone 5和iPhone 4屏幕尺寸製作應用程序。

那麼我在這裏做什麼?

IN SHORT: 我有一個視圖上的5個按鈕,方法創建一個UIImageView與發件人按鈕框架,刪除按鈕,並在該位置添加img視圖。工程,但更改1按鈕後,所有其他按鈕的大小改變。如何防止這一點?我認爲這是因爲他們在「對」中彼此對齊。

感謝

//編輯我的設置 圖像和約束,不知道哪一個是給我的問題,但也許下一個,因爲它與其他按鈕。我不想要我的按鈕來改變大小,如果我以編程方式刪除其中的一個,那就是發生了什麼。 Setup

Constraints

回答

9

刪除自動 - 佈局是這樣的。

enter image description here

然後使用Bounds屬性用於獲取高度爲不同的iPhone,然後在相應的方式設置的幀。

您可以通過檢查

if([[UIScreen mainScreen] bounds].size.height == 568) 
{ 
     //newer iphone 
} 
else 
{ 
     //older iphones 
} 

新的編輯得到高度:

所以你真正需要的是去掉第一個按鈕和第二個按鈕之間的空白。

您必須將其刪除,然後將每個視圖相對於Y軸從頂部對齊。 這將完成這項工作。

+0

是的,這將工作,但我認爲有另一種獲得自動約束功能爲您工作的方式,因爲它給你一些不錯的功能,它似乎有這種小尺寸匹配的東西是竊聽我。我試圖手動刪除約束,但它本身又添加了它。或者,也許你發佈的只是要走的路? – Seerex

+0

你已經問過你想要移除自動佈局功能,所以我展示瞭如何去做。無論如何,我認爲如果你支持的iOS版本少於6,那麼你不應該使用自動佈局。但是,如果您不需要較老的iOS支持,那麼自動佈局是一種可行的方法。 – mayuur

+1

發佈一些圖片,瞭解您在哪些方面遇到困難的約束...另外,您可以從這裏獲得更多約束知識。 http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 – mayuur