0
我有一個圖像視圖和兩個UILabels的筆尖文件,一個在圖像上方,另一個在下方。筆尖用於屏幕上的每個頁面,我的視圖控制器使用嵌套的switch語句來確定每個屏幕使用的圖像和文本。我遇到的問題是圖像大小不一,有時圖像下方的標籤不會顯示。我希望它始終顯示在圖像下方4px,所以我設置了一個垂直空間約束,其常量爲4,但使用日誌語句來打印imageview框架和標籤框架的原點和大小告訴我,它放置的不止一個4px以下,可能在屏幕底部。我附上了一些截圖來說明問題。第一個屏幕截圖顯示出現在正確位置的所有內容。是否需要添加代碼以使標籤始終正確顯示,而不管圖像高度如何?如何使AutoLayout調整爲更改圖像大小
而這裏是將內容從視圖控制器的代碼的一個例子:
@implementation ContentViewController
- (id)initForContentSet:(int)setNumber andIndex:(int)indexNumber {
if (self = [super initWithNibName:@"ContentView" bundle:nil]) {
self.contentSet = setNumber;
self.indexNum = indexNumber;
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[_contentImageView setContentMode:UIViewContentModeScaleAspectFit];
[_contentText setLineBreakMode:NSLineBreakByWordWrapping];
//set up content
switch (_contentSet) {
case 1:
switch (_indexNum) {
case 0:
//first exposure page
[_pageHeader setText:@"The Exposure Triangle"];
[_contentImageView setImage:[UIImage imageNamed:@"exposure-triangle.jpg"]];
[_contentText setText:@"Balance the amount of available light with aperture, ISO, and shutter speed settings."];
break;
case 1:
//second exposure page
[_pageHeader setText:@"Example"];
[_contentImageView setImage:[UIImage imageNamed:@"exposureexample.jpg"]];
[_contentImageView sizeToFit];
[_contentText setText:@"An underexposed photo is too dark, while an overexposed one looks washed out."];
break;
default:
break;
}
break;
首先,使用視圖調試來找出標籤真正的位置! – matt
看看這個:http://stackoverflow.com/questions/26833627/with-auto-layout-how-do-i-make-a-uiimageviews-size-dynamic-depending-on-the-im –