2012-12-14 32 views
7

Trong dự án của tôi, tôi đang sử dụng hoạt ảnh trang. Vấn đề của tôi là tôi muốn hiển thị màu đỏ trên nền của chế độ xem cuộn tròn. Làm thế nào để đạt được điều đó? Cảm ơn trước.trang bán curl hoạt hình màu nền?

enter image description here

CATransition *animation = [CATransition animation]; 
[animation setDelegate:self]; [animation setDuration:0.75]; 
[animation setTimingFunction:UIViewAnimationCurveEaseInOut]; 
animation.type = @"pageUnCurl"; 
animation.fillMode = kCAFillModeBackwards; 
animation.startProgress = 0.65; 
[animation setRemovedOnCompletion:NO]; 
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-2 withSubviewAtIndex:3]; 
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-3 withSubviewAtIndex:2]; 
[[[self view] layer] addAnimation:animation forKey:@"pageCurlAnimation"]; 

Đây là cách tôi thay đổi quan điểm của tôi.

+0

thêm 2 chế độ xem và sử dụng chế độ xem bên dưới để thêm các nút ... – IronManGill

+0

Dán mã vào đây. Chúng tôi không biết bạn đã sử dụng phương pháp nào để cuộn tròn. Có lẽ bạn nên thêm khung nhìn này vào một số khung nhìn khác và thiết lập màu nền, nhưng đây là một dự đoán may mắn duy nhất không có mã. – Kuba

+0

Có lẽ thiết lập màu nền của mainWindow của bạn? – BarryK88

Trả lời

0

Nếu bạn muốn kiểm soát hoàn toàn hiển thị những gì đằng sau một phần curl, bạn có thể đặt nó làm VC riêng biệt. Dưới đây là ví dụ:

EndPartialCurlViewController *nextViewController = [[EndPartialCurlViewController alloc] init]; 
[nextViewController setModalTransitionStyle:UIModalTransitionStylePartialCurl]; 
[[self navigationController] presentViewController:nextViewController animated:YES completion:nil]; 

Sau đó, bạn có thể tạo bất kỳ màu, lượt xem, nút, v.v. nào bạn muốn vào EndPartialCurlViewController này.

1

Điều này có thể nếu bạn sử dụng CALayer như trang nền khi hoạt hình đang xảy ra.

topPageReverseOverlay = [[CALayer alloc] init]; 
topPageReverseOverlay.backgroundColor = [[[UIColor redColor] colorWithAlphaComponent:0.8] CGColor]; 
1

Nếu bạn đang sử dụng lớp thì khi ứng dụng chuyển sang nền sau đó bạn có thể làm mất hiệu ứng cuộn của lớp cụ thể đó.

0

sau nhiều lần lướt sóng tôi thấy rằng có một cách bằng cách sử dụng bộ lọc và lớp, chúng tôi có thể đạt được điều này nhưng đó là một phương pháp không có giấy tờ và Nếu bạn đang sử dụng lớp thì khi ứng dụng chuyển sang nền sau đó bạn có thể làm mất hiệu ứng curl của lớp cụ thể đó ..

Các vấn đề liên quan