我有一個父UIView有子UIView(在下面的代碼中使用的UILabel)的框架設置爲父的邊界和其autoresizingMask設置爲靈活的寬度和高度:當UIView的UILabel的動畫框架(大小)的動畫化框架
UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UILabel* childLabel = [[UILabel alloc] initWithFrame:parentView.bounds];
childLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
childLabel.textAlignment = UITextAlignmentCenter;
childLabel.text = @"Hello";
我希望能夠以動畫父視圖的框架,特別是它的大小,並有子視圖作爲動畫的部分調整:
[UIView animateWithDuration:1.0 animations:^{ parentView.frame = CGRectMake(0, 0, 160, 240); }];
由於這部動畫我的結果會希望UILabel的文本與父視圖的a一起動畫nimation,所以在視覺上你會看到文本從(160,240)中心移動到(80,120)。但是,不是動畫,而是顯示子視圖的框架立即被設置爲它在動畫結束時應該具有的值,所以當動畫開始時,您會看到文本的位置立即跳轉。
有沒有辦法讓子視圖作爲動畫的一部分進行自動調整?
這是很好的信息。 UIViewContentModeCenter適用於我實際需要的功能 - 讓文本在父視圖的框架縮小或增長時保持居中。謝謝。 –
太棒了!謝謝! – Kjuly