2011-07-30 100 views
6

我必須做一些錯誤的,但不知道是什麼..的UIView SETFRAME問題

我嘗試添加子視圖與此代碼:

subMenuView = [[UISubMenuViewMainController alloc] init]; 

[subMenuView.view setFrame:CGRectMake(10,0,990,100)]; 

subMenuView.view.backgroundColor = [UIColor whiteColor]; 

[self.view addSubview:subMenuView.view]; 

我想我的觀點是在(10,0 ),並在寬/高百分之九百九十零

,但我沒有得到預期的結果

讓我,如果我錯了,如果我想在中心的10×10平方視圖我必須添加以下行:

[subMenuView.view setFrame:CGRectMake(512,384,10,10)]; 

這不是我得到的,位置是正確的,但寬度/高度是錯誤的,任何想法?

+0

http://stackoverflow.com/questions/18850871/cgrectmake-is-not-working-with-uiview –

回答

7

問題修正通過設置

self.view.autoresizesSubviews = NO; 
0

該代碼有點不合常規,但我會冒險猜測這是因爲您在將視圖添加爲子視圖之前設置視圖的框架。因此,子視圖的位置在您看到它之前可能會被layoutSubviews更改。

因此,請嘗試把第二行代碼放在最後,看看這是否有效。

+0

我得到完全相同的問題與setFrame和代碼片段的結尾 –

+0

我不undestand因爲我添加一個很多其他的控件(UIButton)在使用這種方法之前都是完美的。 –

-1

使用try花車,而不是整數:

[subMenuView.view setFrame:CGRectMake(10,0,990,100)]; 

到:

[subMenuView.view setFrame:CGRectMake(10.0f,0.0f,990.0f,100.0f)]; 
+2

同樣的問題,我認爲海灣合作委員會可以投我的int在編譯時浮動與任何問題 –

10

如果使用自動版式,呼叫SETFRAME有沒有用,嘗試setFrame之前調用setTranslatesAutoresizingMaskIntoConstraints

+4

設置爲是或否?最好提供示例 – Raptor

+2

您應該提及應該設置的內容。 – ge0rges

+3

將其設置爲YES爲我工作。 – Nerrolken