2015-03-02 33 views
0

我有一個UIView(名爲FWD2)的子視圖和這個UIView被添加作爲一個子視圖來一個UIViewController(LoginView Controller)。 (fwd1)是動態高度,UIView(Fwd2)是固定高度。現在我想要UIView(fwd1 & fwd2)中心到UIViewController(LoginView控制器)。我的第一個UIView(fwd1)正在集中到UIViewController,但第二個UIView(fwd2)未居中。我已經使用UIView的子視圖,其是被添加作爲<code>UIView</code>(名爲FWD1)的子視圖的UIViewController,沒有得到居中的UIViewController在IOS

fwd1.center = self.view.center; 

,我也試過

fwd1.center = [self.view convertPoint:self.view.center 
fromView:self.view.superview]; 

我做同樣的事情第二UIView即FWD2但我的第二個UIView即FWD2不獲取居中UIViewController。提前致謝。

+1

如果你想中心fwd2你爲什麼要設置fwd2的中心? 附註: 您可能想要使用自動佈局。使用自動佈局,你可以應用約束像中心容器等 這是一個自動佈局教程:http://www.raywenderlich。com/50317 /開始自動佈局教程在ios -7部分-1 – Taha 2015-03-02 07:57:10

+0

我已經遵循這兩種情況下一次我沒有設置fwd2的中心..但couln't成功和結果是相同的... – adi012 2015-03-02 08:00:15

+0

我想這樣做,而不使用AutoLayout .... PLZ幫助.. – adi012 2015-03-02 08:02:42

回答

1

按照這個線程的創建者,怎麼樣解決了他的問題:

在其功能是你寫的代碼?你可能想在

- viewWillLayoutSubviews

嘗試,不要忘記調用超類的實現。首先你需要將fwd1和fwd2居中。

fwd1.center = [self.view convertPoint:self.view.center fromView:self.view.superview]; 
fwd2.center = [fwd1 convertPoint:fwd1.center fromView:fwd1.superview]; 
0

您的fwd2是fwd1的子視圖,fwd1是UIViewController的子視圖。所以,你需要如下

首先要居中對齊FWD1到的UIViewController

[fwd1 setCenter:[[self view] center]]; 

然後進行FWD2居中對齊,以FWD1

[fwd2 setCenter:[fwd1 center]]; 
+1

不一定正確。 self.view的中心是UI窗口的座標而不是self.view。 類似的,fwd1的中心座標是self.view,而不是fwd1的座標。 – Taha 2015-03-02 08:05:43

+0

@小吃,我已經這樣做了......但是這並沒有給出解決方案...... fwd2出現在角落...... – adi012 2015-03-02 08:08:07

1

你將這個代碼在正確的地方?

這些代碼通常應該出現在UIViewController的viewDidLayoutSubviews

fwd1在UIViewController中居中:

fwd1.center = CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds)); 

然後讓fwd2集中在fwd1,這意味着fwd2也應該集中在UIViewController中(它們具有相對於一個UIWindow同一中心)。編輯: 感謝評論,我更正了代碼。

+0

更正:我認爲在設置fwd2的中心時應該使用fwd1的界限。 – Taha 2015-03-02 08:18:30

+0

fwd2的x座標居中,但y座標隨着fwd1的變量高度變化,當我僅對fwd1使用中心方法而不是fwd2時。 – adi012 2015-03-02 08:36:50

+0

當您更改'fwd1'的高度以使'fwd2'位於'fwd1'的中心時,您應該重新計算'fwd2'的中心以獲取新值。 @AdityaYadav – liushuaikobe 2015-03-02 08:43:50

相關問題