2015-09-06 42 views
0

我在那裏當我使用自動佈局iOS:Autolayout導致圖像幀變小?

前我的UIImageView小於屏幕尺寸的問題:

故事板:

enter image description here

模擬器:

enter image description here

我的控制器中的方法dra ws的圖像是這樣的:

- (void)updateCoasterImage:(NSString *)imageName { 
    [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"table"]]]; 

    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%@", imageName]]; 
    CGRect screen = [[UIScreen mainScreen] bounds]; 
    CGRect bounds = CGRectMake(screen.origin.x, 
           screen.origin.y, 
           screen.size.width * 1.4, 
           screen.size.height * 1.2); 

    self.coasterImage.frame = bounds; 
    self.coasterImage.image = image; 
    self.coasterImage.center = self.coasterImage.superview.center; 
} 

爲什麼它的行爲是這樣的?當我刪除自動佈局時,它看起來不錯(除了右上方的工具圖標,因爲它不會保持捕捉到故事板中的藍色線條)

我認爲將幀設置爲屏幕大小可行。

回答

1

您已經完美地診斷出這個問題。您的圖片視圖的大小由自動佈局約束進行配置,而不是通過其框架進行配置。設置其框架將不起作用,因爲在你做之後,自動佈局將會出現並遵守約束條件。要解決這個問題,請修復限制

+0

不錯,我會看看它謝謝@matt – Edmund

+0

感謝您的提示!它的工作,使我的生活更容易,而無需設置框架 – Edmund

+0

酷!你做了所有的工作;通過測試來分析自動佈局被關閉後會發生的情況,從而使您能夠正確處理問題。做得好。 – matt