5 libs “vi diệu” nhất dành cho các lập trình viên iOS (phần 1)

Thư viện là một tập hợp các đoạn code do một ai đó làm sẵn với mục đích là thực hiện sẵn một công việc dài dòng phức tạp đưa ra kết quả như ý muốn. Ngày nay, để làm một ứng dụng có đầy đủ các chức năng thì các lập trình cần phải tìm hiểu nhiều thư viện khác nhau, gom chúng lại với nhau và đưa những gì mà các bạn thấy cần thiết vào trong ứng dụng của mình.

Dưới đây là tổng hợp 1 số libs hay cho các lập trình viên iOS.

1. App thư viện hỗ trợ xem ảnh

Tương tự như facebook paper, MMPaperGallery là 1 apps thư viện hỗ trợ người dùng xem ảnh, với các tính năng khá thú vị như xem ảnh chất lượng cao, zoom, các thao tác vuốt…

Demo

MMpaper

Một số tính năng:

  • Hỗ trợ các đường link url hình ảnh cell.configureForURL(url)
  • Thu phóng hình ảnh
  • Tính năng nghiêng ảnh tương tự như Paper app
  • Copy thư mục Paper Gallery từ dự án và kiểm tra demo

Chi tiết: https://github.com/mukyasa/MMPaperGallery

2. Thư viện animation chuyển đổi

Tập hợp các chuyển đổi tùy chỉnh dành cho iOS, sử dụng protocol  UIViewControllerAnimatedTransitioning 

Demo: 

coreimage motionblurboxblurAnimatedTransitionGallery1 boxblur

Cách lập trình: 

Các chuyển đổi có sẵn:

  • HUTransitionVerticalLinesAnimator
  • HUTransitionHorizontalLinesAnimator
  • HUTransitionGhostAnimator
  • ZBFallenBricksAnimator
  • CoreImageTransitionBoxBlur
  • CoreImageTransitionMotionBlur
  • CoreImageTransitionCopyMachine
  • CoreImageTransitionDisintegrateWithMask
  • CoreImageTransitionDissolve
  • CoreImageTransitionFlash
  • CoreImageTransitionMod
  • CoreImageTransitionPageCurl
  • CoreImageTransitionPageCurlWithShadow
  • CoreImageTransitionRipple
  • CoreImageTransitionSwipe
  • ATCAnimatedTransitioningFade
  • ATCAnimatedTransitioningBounce
  • ATCAnimatedTransitioningSquish
  • ATCAnimatedTransitioningFloat
  • LCZoomTransition
  • ADBackFadeTransition
  • ADCarrouselTransition
  • ADCrossTransition
  • ADCubeTransition
  • ADFadeTransition
  • ADFlipTransition
  • ADFoldTransition
  • ADGhostTransition
  • ADGlueTransition
  • ADModernPushTransition
  • ADPushRotateTransition
  • ADScaleTransition
  • ADSlideTransition
  • ADSwapTransition
  • ADSwipeFadeTransition
  • ADSwipeTransition
  • ADZoomTransition
  • CECardsAnimationController
  • CECrossfadeAnimationController
  • CECubeAnimationController
  • CEExplodeAnimationController
  • CEFlipAnimationController
  • CEFoldAnimationController
  • CENatGeoAnimationController
  • CEPortalAnimationController
  • CETurnAnimationController
  • KWTransitionStyleNameRotateFromTop
  • KWTransitionStyleNameFadeBackOver
  • KWTransitionStyleNameBounceIn
  • KWTransitionStyleNameDropOut
  • KWTransitionStyleNameStepBackScroll
  • KWTransitionStyleNameStepBackSwipe
  • KWTransitionStyleNameUp
  • KWTransitionStyleNamePushUp
  • KWTransitionStyleNameFall
  • KWTransitionStyleNameSink
  • DMAlphaTransition
  • DMScaleTransition
  • DMSlideTransition
  • HFAnimator
  • HFDynamicAnimator
  • BouncePresentTransition
  • FlipTransition
  • ShrinkDismissTransition

Chi tiết: https://github.com/shu223/AnimatedTransitionGallery

3. CarbonKit

CarbonKit là thư viện iOS mở bởi lập trình viên Ernal của iOS. Đây là thanh điều hướng tab gọn gàng, thường được thấy trong các sản phẩm hoàn thành theo phong cách thiết kế Material Design của Google trong các apps Android. Ngoài điều hướng, thư viện còn có hoạt động vút refresh thuận tiện. CarbonKit gồm: CarbonSwipeRefresh và CarbonTabSwipeNavigation

Cách lập trình:

CarbonKit có sẵn trong CocoaPods. Thêm vào Podfile của bạn:

Và chạy

  • CarbonSwipeRefresh

CarbonSwipeRefresh

Code mẫu

Nếu bạn đang sử dụng UITableViewController, bạn phải thêm refreshControl vào self.view.superview sau viewDidAppear

  • CarbonTabSwipeNavigation

CarbonTabSwipeNavigation

Code mẫu

Swift mẫu

Chi tiết: https://github.com/ermalkaleci/CarbonKit

4. PNChart

PNChart là thư viện biểu đồ đơn giản, tuyệt đẹp với animation sử dụng trong Piner và CoinsMan cho iOS

Yêu cầu:
PNChart phù hợp với iOS 7+ và tương thích với các dự án ARC. Nếu bạn cần hỗ trợ cho iOS 6, sử dụng PNChart <= 0.8.1. Lưu ý rằng PNChart 0.8.2 chỉ hỗ trơ iOS 8+, trong khi đó phiên bản 0.8.3 và phiên bản mới hơn hỗ trợ iOS 7+

pnchart

Tùy thuộc vào các framework của Apple bên dưới, thường được kết hợp trong phần lớn templates Xcode:

  • Foundation.framework
  • UIKit.framework
  • CoreGraphics.framework
  • QuartzCore.framework

Bạn cần LLVM 3.0 hoặc mới hơn để lập trình PNChart.

Cách dùng:

  1. Cocoapods:

Khuyến khích sử dụng Cocoapods để thêm PNChart vào dự án

  • Thêm 1 pod entry cho PNChart vào Podfile của bạn ‘PNChart’
  • Cài đặt podInstall the pod(s) by running pod install.
  • Thêm PNChart vào vị trí mà bạn muốn với ‪#‎import‬ “PNChart.h”

b. Copy thư mục PNChart folder vào dự án

Line chart

pnchart

barchart

circlechart

piechart

scatterchart

c. Legend:

Legend được theo vào PNChart dành cho Line và Pie Charts. Vị trí của các mục Legend có thể xếp chồng lên hoặc theo dãy

piechart2 linechart2

Cập nhật giá trị (theo thời gian thực)

Callback

Animation

Animation được kích hoạt bằng theo định dạng chuẩn khi vẽ các biểu đồ và có thể được vô hiệu bằng cách thiết lập  displayAnimation = NO

Chi tiết: https://github.com/kevinzhow/PNChart

5. iOS Product Tour:

Thư viện popup kiểm soát là một GarageBand (iOS), tương tự như hệ thống hỗ trợ người dùng, hiển thị cửa sổ bên cạnh các buttons của bạn, khu vực UIView (ext …) để giúp người sử dụng trong ứng dụng của bạn.

producttour

Tích hợp

Nếu bạn muốn 1 kết quả tương tự, đừng quên sử dụng font BebasNeue

Các tính năng

  • Dễ dàng tích hợp
  • Tùy chỉnh màu sắc, kích thước font
  • Các chiều mũi tên khác nhau
  • Các dòng đa và dòng đơn mô tả Multi-line or mono-line for description
  • Hai animations khác nhau để loại bỏ/ hiển thị cửa sổ (BOOL activeAnimation=YES; //YES dành cho toàn bộ animation, NO dành cho animation mờ)
  • Ví dụ tích hợp

Chi tiết: https://github.com/Cclleemm/ProductTour

Techtalk via IDEA