Home About Twitter RSSiOS Development TipsReplicating Twitter’s bird z dịch - Home About Twitter RSSiOS Development TipsReplicating Twitter’s bird z Việt làm thế nào để nói

Home About Twitter RSSiOS Developme


Home About Twitter RSS
iOS Development Tips
Replicating Twitter’s bird zoom startup animation (in Swift!)

Twitter recently updated its iOS app with a really cool startup animation that transitions from the Default.png to the timeline view. The animation uses the Twitter bird as a window into the timeline view, and then zooms it in. Here’s a demo:

Replicating the basic animation it is fairly easy. To make the starting point as simple as possible, I used a screenshot of my timeline rather than a full-blown UITableView. The other thing that’s required is the Twitter logo, and Twitter lets you download that from its Brand Assets page.

So let’s dive right in.

I started off with an empty Swift project, and wrote all my code in the AppDelegate itself.

First, let’s add the screenshot on the window:

let imageView = UIImageView(frame: self.window!.frame)
imageView.image = UIImage(named: "twitterscreen")
self.window!.addSubview(imageView)
Our strategy to use the logo as a window into the main view can be implemented as a mask on CALayer. Every CALayer has a mask property that is also a CALayer and lets you mask the main layer or view. Here’s how Apple describes it:

The mask layer’s alpha channel determines how much of the main layer’s content and background shows through. Fully or partially opaque pixels allow the underlying content to show through but fully transparent pixels block that content.

This sounds like what we want. We can put the Twitter logo in a new layer using the contents property, and use this layer as a mask for the image view:

self.mask = CALayer()
self.mask!.contents = UIImage(named: "twitter logo mask").CGImage
self.mask!.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
self.mask!.anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.mask!.position = CGPoint(x: imageView.frame.size.width/2, y: imageView.frame.size.height/2)
imageView.layer.mask = mask
Try running the project, and you should have the mask setup.



Next up, animating the mask. You’ll observe that the bird reduces in size for a bit, and then increases in size, so to do that using just one animation, let’s use CAKeyframeAnimation.

let keyFrameAnimation = CAKeyframeAnimation(keyPath: "bounds")
keyFrameAnimation.duration = 1
keyFrameAnimation.timingFunctions = [CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut), CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)]
let initalBounds = NSValue(CGRect: mask!.bounds)
let secondBounds = NSValue(CGRect: CGRect(x: 0, y: 0, width: 90, height: 90))
let finalBounds = NSValue(CGRect: CGRect(x: 0, y: 0, width: 1500, height: 1500))
keyFrameAnimation.values = [initalBounds, secondBounds, finalBounds]
keyFrameAnimation.keyTimes = [0, 0.3, 1]
self.mask!.addAnimation(keyFrameAnimation, forKey: "bounds")
Getting the animation’s final size and timing right took some hit and trial, but I’d say the final result seems like a decent copy of the original one:



One improvement could be having Twitter’s blue color outside the mask. Pull requests welcome! See the project on GitHub.

Liked the post? Follow me on Twitter @r0unak and try Design Shots, the best iPhone Dribbble app.

∞ JUN. 11 2014

Master iOS animations by purchasing the iOS Animations by Tutorials book
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Trang chủ giới thiệu Twitter RSSiOS Mẹo phát triểnSao chép của Twitter chim phóng to khởi động hoạt hình (trong Swift!)Twitter cập nhật gần đây ứng dụng iOS của mình với một hình ảnh động thực sự mát mẻ khởi động quá trình chuyển đổi từ Default.png để xem thời gian. Những hình ảnh động sử dụng chim Twitter như một cửa sổ trong dạng xem đường thời gian, và sau đó phóng. Dưới đây là một bản demo: Sao chép các hình ảnh động cơ bản là khá dễ dàng. Để thực hiện là điểm khởi đầu càng đơn giản càng tốt, tôi đã sử dụng một ảnh chụp màn hình của thời gian của tôi chứ không phải là một full-blown UITableView. Một thứ khác đó có yêu cầu là biểu tượng Twitter và Twitter cho phép bạn tải mà từ trang thương hiệu tài sản của mình.Vì vậy, hãy nhảy ngay trong.Tôi bắt đầu với một dự án có sản phẩm nào nhanh chóng, và đã viết tất cả các mã trong AppDelegate chính nó.Trước tiên, hãy thêm hình vào cửa sổ:cho phép imageView = UIImageView (khung: self.window!. khung)imageView.image = UIImage (đặt tên là: "twitterscreen")self.Window!. addSubview(imageView)Chúng tôi chiến lược sử dụng các biểu tượng như một cửa sổ vào giao diện chính có thể được thực hiện như là một mặt nạ CALayer. Mỗi CALayer có một tài sản mặt nạ cũng là một CALayer và cho phép bạn mặt nạ chính lớp hoặc xem. Dưới đây là cách Apple mô tả nó:Kênh alpha lớp mặt nạ sẽ xác định có bao nhiêu nội dung lớp chính và nền cho thấy thông qua. Hoàn toàn hoặc một phần đục pixel cho phép các tiềm ẩn nội dung để hiển thị thông qua nhưng hoàn toàn minh bạch pixel chặn nội dung đó.Điều này nghe giống như những gì chúng tôi muốn. Chúng tôi có thể đặt biểu tượng Twitter trong một lớp mới, sử dụng tài sản nội dung, và sử dụng lớp này như là một mặt nạ để xem hình ảnh:self.Mask = CALayer()self.Mask!. nội dung = UIImage (mang tên: "twitter biểu tượng mặt nạ"). CGImageself.Mask!. giới hạn = CGRect (x: 0, y: 0, chiều rộng: 100, chiều cao: 100)self.Mask!. anchorPoint = CGPoint (x: 0.5, y: 0,5)self.Mask!. vị trí = CGPoint (x: imageView.frame.size.width/2, y: imageView.frame.size.height/2)imageView.layer.mask = mặt nạCố gắng chạy các dự án, và bạn cần phải có cài đặt mặt nạ.Tiếp theo, animating mặt nạ. Bạn sẽ quan sát chim làm giảm kích thước cho một chút, và sau đó làm tăng kích thước, vì vậy để làm điều đó bằng cách sử dụng chỉ là một hình ảnh động, hãy sử dụng CAKeyframeAnimation.cho phép keyFrameAnimation = CAKeyframeAnimation (keyPath: "giới hạn")keyFrameAnimation.duration = 1keyFrameAnimation.timingFunctions = [CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut), CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)]cho phép initalBounds = NSValue (CGRect: mặt nạ!. giới hạn)cho phép secondBounds = NSValue (CGRect: CGRect (x: 0, y: 0, chiều rộng: 90, chiều cao: 90))cho phép finalBounds = NSValue (CGRect: CGRect (x: 0, y: 0, chiều rộng: 1500, chiều cao: 1500))keyFrameAnimation.values = [initalBounds, secondBounds, finalBounds]keyFrameAnimation.keyTimes = [0, 0.3, 1]self.Mask!. addAnimation (keyFrameAnimation, forKey: "giới hạn")Nhận được cuối cùng kích thước của hình ảnh động và thời gian phải mất một số hit và thử nghiệm, nhưng tôi muốn nói rằng kết quả cuối cùng có vẻ giống như một bản sao Phong Nha của một bản gốc:Một cải tiến có thể có của Twitter màu xanh bên ngoài mặt nạ. Kéo yêu cầu chào mừng! Hãy xem các dự án trên GitHub.Thích đăng bài? Theo tôi trên Twitter @r0unak và thử thiết kế mũi chích ngừa, các ứng dụng iPhone tốt nhất Dribbble.∞ 11 THÁNG 06 NĂM 2014 Hình ảnh động chủ iOS bằng cách mua các iOS hình ảnh động của cuốn sách hướng dẫn
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!

Trang chủ Giới Twitter RSS
Mẹo Phát triển iOS
hoạt hình chim zoom khởi động sao chép của Twitter (trong Swift!)

Twitter vừa cập nhật ứng dụng iOS của mình với một hình ảnh động khởi động thực sự mát mẻ mà quá trình chuyển đổi từ Default.png để xem thời gian. Bộ phim hoạt hình sử dụng chim Twitter như một cửa sổ vào xem thời gian, và sau đó phóng nó trong Dưới đây là một bản demo.

Nhân rộng các hình ảnh động cơ bản nó là khá dễ dàng. Để làm điểm khởi đầu đơn giản như có thể, tôi sử dụng một ảnh chụp màn hình của dòng thời gian của tôi chứ không phải là một UITableView toàn diện. Một thứ khác mà là yêu cầu logo Twitter, và Twitter cho phép bạn tải về mà từ trang Nhãn hiệu Tài sản của nó.

Vì vậy, chúng ta hãy cùng tìm hiểu ngay.

Tôi bắt đầu với một dự án Swift trống rỗng, và viết tất cả các mã của tôi trong appdelegate chính nó.

Đầu tiên, chúng ta hãy thêm các ảnh chụp màn hình trên cửa sổ:

hãy IMAGExem = UIImageView (khung: self.window .frame)
imageView.image = UIImage (có tên là: "twitterscreen")
self.window .addSubview (IMAGExem)!
chiến lược của chúng tôi sử dụng logo là một cửa sổ vào giao diện chính có thể được thực hiện như một mặt nạ trên CALayer. Mỗi CALayer có một tài sản mặt nạ cũng là một CALayer và cho phép bạn che các lớp chính hoặc xem. Dưới đây là làm thế nào Apple mô tả nó:

kênh alpha Các lớp mặt nạ của xác định có bao nhiêu nội dung và nền lớp chính cho thấy thông qua. Hoàn toàn hoặc một phần điểm ảnh mờ cho phép các nội dung cơ bản để hiển thị thông qua nhưng điểm ảnh hoàn toàn minh bạch chặn nội dung đó.

Điều này nghe có vẻ giống như những gì chúng ta muốn. Chúng tôi có thể đặt logo Twitter trong một layer mới bằng cách sử dụng nội dung tài sản, và sử dụng layer này như một mặt nạ cho xem hình ảnh:

self.mask = CALayer ()
! Self.mask .contents = UIImage (có tên là: "twitter biểu tượng mặt nạ" ) .CGImage
! self.mask .bounds = CGRect (x: 0, y: 0, width: 100, chiều cao: 100)
! self.mask .anchorPoint = CGPoint (x: 0,5, y: 0,5)
self.mask !. position = CGPoint (x: imageView.frame.size.width / 2, y: imageView.frame.size.height / 2)
imageView.layer.mask = mặt nạ
Thử chạy dự án, và bạn cần phải có các thiết lập mặt nạ.



Tiếp theo , hoạt cảnh nạ. Bạn sẽ nhận thấy rằng những con chim làm giảm kích thước cho một chút, và sau đó tăng kích thước, vì vậy để làm điều đó chỉ sử dụng một hình ảnh động, hãy sử dụng CAKeyframeAnimation.

Hãy keyFrameAnimation = CAKeyframeAnimation (keyPath: "giới hạn")
keyFrameAnimation.duration = 1
keyFrameAnimation .timingFunctions = [CAMediaTimingFunction (tên: kCAMediaTimingFunctionEaseInEaseOut), CAMediaTimingFunction (tên: kCAMediaTimingFunctionEaseInEaseOut)]
để initalBounds = NSValue (CGRect: mặt nạ .bounds)
để secondBounds = NSValue (CGRect: CGRect (x: 0, y: 0, chiều rộng: 90 , chiều cao: 90))
để cho finalBounds = NSValue (CGRect: CGRect (x: 0, y: 0, chiều rộng: 1500, chiều cao: 1500))
keyFrameAnimation.values ​​= [initalBounds, secondBounds, finalBounds]
keyFrameAnimation.keyTimes = [0, 0.3, 1]
self.mask .addAnimation (keyFrameAnimation, forKey: "giới hạn")!
Bắt của phim hoạt hình kích thước và thời gian phải mất một số hit và thử nghiệm, nhưng tôi muốn nói kết quả cuối cùng có vẻ như một bản sao phong nha của một bản gốc :



Một cải tiến có thể có màu xanh của Twitter ngoài mặt nạ. Kéo các yêu cầu chào đón! Xem các dự án trên GitHub.

Thích bài viết? Theo tôi trên Twitter @ r0unak và cố gắng thiết kế Shots, ứng dụng tốt nhất iPhone Dribbble.

∞ tháng sáu 11 2014 hình ảnh động chủ iOS bằng cách mua các iOS Ảnh động bởi Tutorials cuốn sách

đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: