2013-10-15 38 views
0

在我的應用程序中,我創建了一個自定義警報視圖。在旋轉設備時,自定義的警報視圖也會旋轉,但警報視圖的大小會自動更改。我怎樣才能解決這個問題?當方向改變時,自定義警報視圖調整爲其默認大小

First image is my alertview before rotation

Second Image is after rotation

第一幅圖像旋轉之前我alertview和第二圖像是波泰特/橫向旋轉之後。 有人可以幫我解決這個問題嗎?

我用下面的代碼來調整alertview的幀,

- (void)willPresentAlertView:(UIAlertView *)alertView 
{ 
    if(UIDeviceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation)) 
{ 
alertView.frame = CGRectMake(208.0f, 412.f, 352.f, 180.f);  
} 
else 
{ 
    alertView.frame = CGRectMake(336.0f, 284.f, 352.f, 180.f);  
} 

此問題發生,如果該設備被旋轉時alertview存在於視圖

回答

1

如果繼承日E標準UIAlertView中,然後u必須使用下面的

- (void)setFrame:(CGRect)frame { 
frame.size = CGSizeMake(352.0, 180.0); 
[super setFrame:frame]; 
} 

希望這有助於

+0

現在框架沒有調整大小,但標籤和按鈕對齊正在自動調整大小 –

+0

您可以添加和使用您自己的標籤,而不是原始警報視圖中的標籤。隱藏原件並使用您的標籤! –

+0

它的工作原理,謝謝 –

0

只寫以下兩行

[YourCustomView setAutoresizesSubviews:NO]; 
YourCustomView.autoresizingMask = UIViewAutoresizingNone; 

試試這個

+0

它不工作設定框架。有沒有其他方法可以解決這個問題 –

+0

@iOS開發人員在viewController或CustomAlert ViewController中編寫代碼的位置。 –

+0

在添加自定義視圖 –

相關問題