2015-06-24 65 views
0

從開始到結束,我如何以編程方式初始化UIImageView,並將幀限制在屏幕中間,以便在使用寬度不同的設備時,它仍然處於中間位置。根據設備的自動調整

換句話說,如何以編程方式自動佈局我的店鋪?有約束?

例如,我的背景圖像需要全屏顯示,約束所有的邊都是恆定的0.基本上從開始到結束的編碼是什麼?

+0

你真的不應該問「從開始到結束」的代碼。這不是這個網站的內容。您應該首先嚐試理解文檔,並告訴我們您嘗試實現最終目標的嘗試。只有給你代碼的人才會學到很多東西。 – TommyBs

+0

其實我嘗試過。我只是不想把任何人都搞糊塗了。無論如何感謝評論。 –

回答

0

希望這有助於你

{ 
    UIView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"your_image"]]; 
    imageView.translatesAutoresizingMaskIntoConstraints = NO; 
    [self.view addSubview:imageView]; 
    [imageView addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:1 constant:YOUR_HEIGHT_CONSTANT]]; 
    [imageView addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:1 constant:YOUR_WIDTH_CONSTANT]]; 

    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]]; 
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]]; 
    [self.view addSubview:imageView]; 
} 
+0

CGRect landscapeframe = landscape.frame; landscapeframe.origin.x = 0; landscapeframe.origin.y = 0; –

+0

[UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.6]; landscape.frame = landscapeframe; [UIView commitAnimations]; –

+0

你是什麼意思? – Doro

相關問題