6
我可以創建這樣一個面具:動畫的面具一個UIView
CALayer *mask = [CALayer layer];
mask.contents = (id)[[UIImage imageNamed:@"mask.png"] CGImage];
mask.frame = CGRectMake(0, 0, 10, 10);
self.content.layer.mask = mask;
,這將正確顯示左上角我的內容的10個像素(因爲mask.png只是一個黑色圖像)。不過,我想動畫面具以顯示其餘內容:
[UIView animateWithDuration:3.0
animations:^{
mask.frame = self.content.bounds;
}
completion:^(BOOL finished){
}];
問題是沒有動畫。整個內容會立即顯示。爲什麼會發生這種情況,以及如何爲面罩設置動畫,以便從左上方顯示內容?
這工作,部分地。我現在可以看到動畫。然而,它停止了一半,而不是揭示整個內容視圖。你知道這可能是爲什麼嗎? – soleil
我不確定是誠實的;仔細檢查內容邊界內的值是否正確。我會充實的答案也會更加強大。 – WDUK
其實這是因爲錨點(由於某些原因,默認爲0.5,0.5)。這解決了它:mask.anchorPoint = CGPointMake(0,0); – soleil