2013-01-16 69 views
1

我在我的應用程序中有兩個選擇器視圖按鈕。在縱向模式下,這些按鈕位於左側,因爲我將設備的方向改爲橫向,按鈕移動到屏幕的右側,但選取器視圖僅保留在左側。我需要選擇者改變其位置並移動到右側。如何在改變方向後改變選取器視圖的位置

關於如何做到這一點的任何想法?

回答

0

您必須取消選中.xib中的Utilities - > File Inspector中的「AutoLayout」選項!

+0

「AutoLayout」未選中,但仍然沒有正確輸出。 – Manjiri

1

使您的pickerView的一個對象。爲它設置@property和@synthesixe。在你的.xib中建立連接!然後在你的viewDidLoad()中寫下下面的代碼!

pickerViewObject.autoresizingMask= UIViewAutoresizingFlexibleRightMargin; 

如果要添加多個自動調整掩碼,請使用|運營商。 !

pickerViewObject.autoresizingMask= UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin; 
+1

您還可以通過.xib設置自動調整屏蔽!首先取消檢查autoLayout選項,然後轉到實用程序--- >>檢查器,在那裏你可以設置自動調整掩碼!或者,您可以禁用.xib中的所有自動調整掩碼,然後通過代碼完成上述操作! –

+0

感謝您的回覆。 – Manjiri

1

我已經做了以下在我的代碼的變化和我得到需要的結果....

-(void) didReceivedRotaionChanged 
{ 
    if([popoverController isPopoverVisible]) 
    { 
     if ([popoverController.contentViewController isKindOfClass:[UINavigationController class]]) 
     { 
      UINavigationController * navController = (UINavigationController*)popoverController.contentViewController; 
      NSArray *array = navController.viewControllers; 
      if ([array count] > 0) 
      { 
       if([[array objectAtIndex:0] isEqual:self.nsJobRolePickerViewController]) 
       { 
        [popoverController dismissPopoverAnimated:NO]; 
        [self onClickIJobRoleButton:self.btnJobRole]; 

       } 
       else if([[array objectAtIndex:0] isEqual:self.nsLocationPickerViewController]) 
       { 
        [popoverController dismissPopoverAnimated:NO]; 
        [self onClickILocationButton:self.btnLocation]; 

       } 
      . 
      . 
      ...... 

等。

那麼這是有點冗長......但它會幫助那些像我一樣的初學者..