imageplayerview使用怎么用

Killer Effects
For Windows & Mac
Youtube & Vimeo
Recent Demos
Sunny Theme
with Fade Animation
with Ken Burns Effect
Pulse Skin
with Blinds Transition
Slider Demos
Absent Theme
with Cube Animation
Gothic Theme
with Domino Animation
Boundary Style
with Parallax Animation
Jul 10, 2012
Own webpage. How do I do this??? Where do I put the data and engine folders? How to make image effects with dreamweaver.Oct 03, 2013
Hi I bought the wowslider application on Sep 7. I think it is a great application, I am trying to redesign a website with wowslider to be mobile friendly, and I am having great difficulty to do that. How to put slider in html page.Sep 07, 2012
Before buy this would like understand the below questions. 1. How to add images slider in joomla template.Aug 22, 2012
Their own slide shows. For instance I uploaded a Wow slider as shown in the link below. How to show two slide show in one page.Sep 16, 2013
I noticed that I am able to install it on my computer but I want it on my wordpress account incase I ever have a computer crash. How to make jquery slider step by step.Jul 04, 2012
Is there a refund policy in case I buy the programs and find that I can't use them? How to open the html image panel using jquery.Sep 03, 2012
We had an enterprise license and many of the products came with it. How to make step carausal circular.ImagePlayerView_程序设计-06学习网
& 浏览文章
ImagePlayerView
来源:网络编辑:佚名时间:人气:
程序员必上的开发者服务平台 —— DevStore
UIScrollView实现自动轮播,可用于广告图片轮播。主要特色: - 支持autolayout - 支持UIPageControl及位置调整 - 支持关闭自动轮播 - 支持调整轮播速度 - 支持点击事件 - 仅支持iOS6
UILabel 子类 BTLabel
BTLabel是UILabel子类,可以垂直对其文本,插入图片和计算高度。
自动绘制动画 UILabel 类 UILabel-AutomaticW…
UILabel-AutomaticWriting是带有自动绘制动画功能的UILabel类,其灵感来自于Google的Trend-Hot搜索。
热门文章排行
浏览 1292浏览 1230浏览 1145浏览 1082<a href="/program/programnews/news/264742.htm" target="_blank" title="浏览 1028浏览 826浏览 735浏览 664浏览 648浏览 604ImagePlayerView-master
ImagePlayerViewDemo
ImagePlayerViewDemo
Base.lproj
Main.storyboard
InfoPlist.strings
Images.xcassets
AppIcon.appiconset
Contents.json
LaunchImage.launchimage
Contents.json
ImagePlayerViewDemo-Info.plist
ImagePlayerViewDemo-Prefix.pch
ImagePlayerViewDemo.xcodeproj
project.xcworkspace
xcuserdata
ericwang.xcuserdatad
UserInterfaceState.xcuserstate
contents.xcworkspacedata
xcuserdata
ericwang.xcuserdatad
ImagePlayerViewDemo.xcscheme
xcschememanagement.plist
project.pbxproj
ImagePlayerViewDemoTests
InfoPlist.strings
ImagePlayerViewDemoTests-Info.plist
ImagePlayerView
ImagePlayerView-Prefix.pch
ImagePlayerView.xcodeproj
project.xcworkspace
xcuserdata
ericwang.xcuserdatad
UserInterfaceState.xcuserstate
contents.xcworkspacedata
xcuserdata
chenyanjun.xcuserdatad
ImagePlayerView.xcscheme
xcschememanagement.plist
ericwang.xcuserdatad
ImagePlayerView.xcscheme
xcschememanagement.plist
project.pbxproj
ImagePlayerViewTests
InfoPlist.strings
ImagePlayerViewTests-Info.plist
ImagePlayerView-01.png
.gitignore
.gitmodules
ImagePlayerView.podspec
ImagePlayerView-master
ImagePlayerViewDemo
ImagePlayerViewDemo
Base.lproj
._Main.storyboard
._InfoPlist.strings
Images.xcassets
AppIcon.appiconset
._Contents.json
LaunchImage.launchimage
._Contents.json
._AppIcon.appiconset
._LaunchImage.launchimage
._Base.lproj
._en.lproj
._ImagePlayerViewDemo-Info.plist
._ImagePlayerViewDemo-Prefix.pch
._Images.xcassets
ImagePlayerViewDemo.xcodeproj
project.xcworkspace
._contents.xcworkspacedata
._project.pbxproj
._project.xcworkspace
ImagePlayerViewDemoTests
._InfoPlist.strings
._en.lproj
._ImagePlayerViewDemoTests-Info.plist
._.DS_Store
._ImagePlayerViewDemo
._ImagePlayerViewDemo.xcodeproj
._ImagePlayerViewDemoTests
._.DS_Store
._ImagePlayerViewDemo
ImagePlayerView
._ImagePlayerView-Prefix.pch
ImagePlayerView.xcodeproj
project.xcworkspace
._contents.xcworkspacedata
xcuserdata
chenyanjun.xcuserdatad
._ImagePlayerView.xcscheme
._xcschememanagement.plist
._xcschemes
._chenyanjun.xcuserdatad
._project.pbxproj
._project.xcworkspace
._xcuserdata
ImagePlayerViewTests
._InfoPlist.strings
._en.lproj
._ImagePlayerViewTests-Info.plist
._ImagePlayerView-01.png
._.DS_Store
._.gitignore
._.gitmodules
._Examples
._ImagePlayerView
._ImagePlayerView.podspec
._ImagePlayerView.xcodeproj
._ImagePlayerViewTests
._README.md
._ImagePlayerView-master
ImagePlayerView.m
ImagePlayerView
Created by 闄堥?淇?on 14-6-5.
Copyright (c) 2014骞?Chenyanjun. All rights reserved.
#import &ImagePlayerView.h&
#define kStartTag
#define kDefaultScrollInterval
@interface ImagePlayerView() &UIScrollViewDelegate&
@property (nonatomic, strong) UIScrollView *scrollV
//@property (nonatomic, strong) NSArray *imageURLs;
@property (nonatomic, assign) NSI
@property (nonatomic, strong) NSTimer *autoScrollT
@property (nonatomic, strong) UIPageControl *pageC
@property (nonatomic, strong) NSMutableArray *pageControlC
@implementation ImagePlayerView
- (id)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
if (self) {
[self _init];
- (id)initWithCoder:(NSCoder *)aDecoder
self = [super initWithCoder:aDecoder];
if (self) {
[self _init];
- (id)init
self = [super init];
if (self) {
[self _init];
- (void)_init
self.scrollInterval = kDefaultScrollI
// scrollview
self.scrollView = [[UIScrollView alloc] init];
[self addSubview:self.scrollView];
self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.bounces = NO;
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.directionalLockEnabled = YES;
self.scrollView.delegate =
// UIPageControl
self.pageControl = [[UIPageControl alloc] init];
self.pageControl.translatesAutoresizingMaskIntoConstraints = NO;
self.pageControl.numberOfPages = self.
self.pageControl.currentPage = 0;
[self addSubview:self.pageControl];
NSArray *pageControlVConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@&V:[pageControl]-0-|&
options:kNilOptions
metrics:nil
views:@{@&pageControl&: self.pageControl}];
NSArray *pageControlHConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@&H:[pageControl]-|&
options:kNilOptions
metrics:nil
views:@{@&pageControl&: self.pageControl}];
self.pageControlConstraints = [NSMutableArray arrayWithArray:pageControlVConstraints];
[self.pageControlConstraints addObjectsFromArray:pageControlHConstraints];
[self addConstraints:self.pageControlConstraints];
// @deprecated use - (void)initWithCount:(NSInteger)count delegate:(id&ImagePlayerViewDelegate&)delegate instead
- (void)initWithImageURLs:(NSArray *)imageURLs placeholder:(UIImage *)placeholder delegate:(id&ImagePlayerViewDelegate&)delegate
[self initWithCount:imageURLs.count delegate:delegate edgeInsets:UIEdgeInsetsZero];
// @deprecated use - (void)initWithCount:(NSInteger)count delegate:(id&ImagePlayerViewDelegate&)delegate edgeInsets:(UIEdgeInsets)edgeInsets instead
- (void)initWithImageURLs:(NSArray *)imageURLs placeholder:(UIImage *)placeholder delegate:(id&ImagePlayerViewDelegate&)delegate edgeInsets:(UIEdgeInsets)edgeInsets
[self initWithCount:imageURLs.count delegate:delegate edgeInsets:edgeInsets];
- (void)initWithCount:(NSInteger)count delegate:(id&ImagePlayerViewDelegate&)delegate
[self initWithCount:count delegate:delegate edgeInsets:UIEdgeInsetsZero];
- (void)initWithCount:(NSInteger)count delegate:(id&ImagePlayerViewDelegate&)delegate edgeInsets:(UIEdgeInsets)edgeInsets
self.count =
self.imagePlayerViewDelegate =
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@&V:|-%d-[scrollView]-%d-|&, (int)edgeInsets.top, (int)edgeInsets.bottom]
options:kNilOptions
metrics:nil
views:@{@&scrollView&: self.scrollView}]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@&H:|-%d-[scrollView]-%d-|&, (int)edgeInsets.left, (int)edgeInsets.right]
options:kNilOptions
metrics:nil
views:@{@&scrollView&: self.scrollView}]];
if (count == 0) {
self.pageControl.numberOfPages =
self.pageControl.currentPage = 0;
CGFloat startX = self.scrollView.bounds.origin.x;
CGFloat width = self.bounds.size.width - edgeInsets.left - edgeInsets.
CGFloat height = self.bounds.size.height - edgeInsets.top - edgeInsets.
for (int i = 0; i & i++) {
startX = i *
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(startX, 0, width, height)];
imageView.contentMode = UIViewContentModeScaleToF
imageView.tag = kStartTag +
imageView.userInteractionEnabled = YES;
imageView.translatesAutoresizingMaskIntoConstraints = NO;
[imageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]];
[imageView addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:width]];
[imageView addConstraint:[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:height]];
[self.imagePlayerViewDelegate imagePlayerView:self loadImageForImageView:imageView index:i];
[self.scrollView addSubview:imageView];
// constraint
NSMutableDictionary *viewsDictionary = [NSMutableDictionary dictionary];
NSMutableArray *imageViewNames = [NSMutableArray array];
for (int i = kStartT i & kStartTag + i++) {
NSString *imageViewName = [NSString stringWithFormat:@&imageView%d&, i - kStartTag];
[imageViewNames addObject:imageViewName];
UIImageView *imageView = (UIImageView *)[self.scrollView viewWithTag:i];
[viewsDictionary setObject:imageView forKey:imageViewName];
[self.scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@&V:|-0-[%@]-0-|&, [imageViewNames objectAtIndex:0]]
options:kNilOptions
metrics:nil
views:viewsDictionary]];
NSMutableString *hConstraintString = [NSMutableString string];
[hConstraintString appendString:@&H:|-0&];
for (NSString *imageViewName in imageViewNames) {
[hConstraintString appendFormat:@&-[%@]-0&, imageViewName];
[hConstraintString appendString:@&-|&];
[self.scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:hConstraintString
options:NSLayoutFormatAlignAllTop
metrics:nil
views:viewsDictionary]];
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * count, self.scrollView.frame.size.height);
self.scrollView.contentInset = UIEdgeInsetsZ
- (void)handleTapGesture:(UIGestureRecognizer *)tapGesture
UIImageView *imageView = (UIImageView *)tapGesture.
NSInteger index = imageView.tag - kStartT
if (self.imagePlayerViewDelegate && [self.imagePlayerViewDelegate respondsToSelector:@selector(imagePlayerView:didTapAtIndex:)]) {
[self.imagePlayerViewDelegate imagePlayerView:self didTapAtIndex:index];
#pragma mark - auto scroll
- (void)setAutoScroll:(BOOL)autoScroll
_autoScroll = autoS
if (autoScroll) {
if (!self.autoScrollTimer || !self.autoScrollTimer.isValid) {
self.autoScrollTimer = [NSTimer scheduledTimerWithTimeInterval:self.scrollInterval target:self selector:@selector(handleScrollTimer:) userInfo:nil repeats:YES];
if (self.autoScrollTimer && self.autoScrollTimer.isValid) {
[self.autoScrollTimer invalidate];
self.autoScrollTimer =
- (void)setScrollInterval:(NSUInteger)scrollInterval
_scrollInterval = scrollI
if (self.autoScrollTimer && self.autoScrollTimer.isValid) {
[self.autoScrollTimer invalidate];
self.autoScrollTimer =
self.autoScrollTimer = [NSTimer scheduledTimerWithTimeInterval:self.scrollInterval target:self selector:@selector(handleScrollTimer:) userInfo:nil repeats:YES];
- (void)handleScrollTimer:(NSTimer *)timer
if (self.count == 0) {
NSInteger currentPage = self.pageControl.currentP
NSInteger nextPage = currentPage + 1;
if (nextPage == self.count) {
nextPage = 0;
BOOL animated = YES;
if (nextPage == 0) {
animated = NO;
UIImageView *imageView = (UIImageView *)[self.scrollView viewWithTag:(nextPage + kStartTag)];
[self.scrollView scrollRectToVisible:imageView.frame animated:animated];
self.pageControl.currentPage = nextP
#pragma mark - scroll delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
// disable v direction scroll
if (scrollView.contentOffset.y & 0) {
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, 0)];
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
// when user scrolls manually, stop timer and start timer again to avoid next scroll immediatelly
if (self.autoScrollTimer && self.autoScrollTimer.isValid) {
[self.autoScrollTimer invalidate];
self.autoScrollTimer = [NSTimer scheduledTimerWithTimeInterval:self.scrollInterval target:self selector:@selector(handleScrollTimer:) userInfo:nil repeats:YES];
// update UIPageControl
CGRect visiableRect = CGRectMake(scrollView.contentOffset.x, scrollView.contentOffset.y, scrollView.bounds.size.width, scrollView.bounds.size.height);
NSInteger currentIndex = 0;
for (UIImageView *imageView in scrollView.subviews) {
if ([imageView isKindOfClass:[UIImageView class]]) {
if (CGRectContainsRect(visiableRect, imageView.frame)) {
currentIndex = imageView.tag - kStartT
self.pageControl.currentPage = currentI
#pragma mark -
- (void)setPageControlPosition:(ICPageControlPosition)pageControlPosition
NSString *vFormat =
NSString *hFormat =
switch (pageControlPosition) {
case ICPageControlPosition_TopLeft: {
vFormat = @&V:|-0-[pageControl]&;
hFormat = @&H:|-[pageControl]&;
case ICPageControlPosition_TopCenter: {
vFormat = @&V:|-0-[pageControl]&;
hFormat = @&H:|[pageControl]|&;
case ICPageControlPosition_TopRight: {
vFormat = @&V:|-0-[pageControl]&;
hFormat = @&H:[pageControl]-|&;
case ICPageControlPosition_BottomLeft: {
vFormat = @&V:[pageControl]-0-|&;
hFormat = @&H:|-[pageControl]&;
case ICPageControlPosition_BottomCenter: {
vFormat = @&V:[pageControl]-0-|&;
hFormat = @&H:|[pageControl]|&;
case ICPageControlPosition_BottomRight: {
vFormat = @&V:[pageControl]-0-|&;
hFormat = @&H:[pageControl]-|&;
[self removeConstraints:self.pageControlConstraints];
NSArray *pageControlVConstraints = [NSLayoutConstraint constraintsWithVisualFormat:vFormat
options:kNilOptions
metrics:nil
views:@{@&pageControl&: self.pageControl}];
NSArray *pageControlHConstraints = [NSLayoutConstraint constraintsWithVisualFormat:hFormat
options:kNilOptions
metrics:nil
views:@{@&pageControl&: self.pageControl}];
[self.pageControlConstraints removeAllObjects];
[self.pageControlConstraints addObjectsFromArray:pageControlVConstraints];
[self.pageControlConstraints addObjectsFromArray:pageControlHConstraints];
[self addConstraints:self.pageControlConstraints];
- (void)setHidePageControl:(BOOL)hidePageControl
self.pageControl.hidden = hidePageC
Copyright(C)
OKBASE.NET All Rights Reserved 好库网 版权所有压缩文件,压缩图片,压缩Bitmap,通过尺寸压缩和质量压缩,以达到清晰度最优
204查看 &&
支持自由定制外观、手势旋转的雷达图表 android radarchart
一个圆形ImageView控件,可用于头像,发现站内还缺少这种使用频率非常高的东西,就补录进来了。
可自定义的图片裁减库
151查看 &&
图片不规则区域点击事件处理
413查看 &&
可以根据图片变颜色,更加细腻的阴影效果
333查看 &&
可以同时拍摄前置和后置摄像头,并合成一张照片的 camera app。
417查看 &&
类似Instagram的图片剪裁效果。
220查看 &&
高仿微信视频录制,涂鸦水印添加, 基于ffmpeg视频编辑
538查看 &&
一个基于谷歌CameraView library的相机处理程序,让安卓中最复杂的Camera api更简单。
836查看 &&
一个安卓的图片压缩库。
791查看 &&
基于MVP模式的Android多媒体选择器-Bilibili
513查看 &&
TransferImage 是一款模仿微博、微信、qq的高清图查看控件, 实现了在列表控件(ListView, RecycleView, GridView 等...)中 点击缩略图后播放过渡动画, 加载高清图, 加载高清图时同时显示加载进度条, 加载完成后显示高清图的一个组件。
757查看 &&
一款功能超强的图片选择器。支持超大图预览(比如的图),支持图片裁剪,可配置头像模式和普通模式,支持动态配置ImageLoader以支持多种图片加载库,以及实现流畅的跳转动画
1197查看 &&
像微信一样的图片选择器。
932查看 &&
一个比较适用的图片选择器。
1048查看 &&下次自动登录
关注移动互联网和移动APP开发工具、开发框架、测试工具、微信开发、Android源码、Android开源类库以及各种开源组件的IT科技网站
现在的位置:
iOS开发——收集Github上的iOS控件和开发资料
在github上star太多了,有时候很难找到自己想要的开源库,所以在此记录下来。便于自己开发使用。也顺便分享给大家。
最后更新日期:10月10日
收集了iOS平台下比较主流炫酷的几款动画框架
qq的下拉刷新
icon 的点击动画过渡效果
类似百度外卖的下拉刷新动画
可定制水滴型浮动动态按钮组件及演示
附带了微信朋友圈Demo,
ViewController
一个优雅的信息UI开源库
快速给 UIView 添加上炫酷的通知图标
可在 App 中轻松创建新手引导, Web 也有个类似的开源插件叫 Intro.js
Rich Markdown editing control for iOS
实现类似QQ消息拖拽消失的交互+GameCenter的浮动小球效果
一大波UIControl控件!
扩展实现 UILabel 触控事件针对 #, @, 链接响应及事件捕获。
Use UIStackView directly in iOS6+
VideoPlayer
类似Weico的播放器,支持竖屏模式下全屏播放
视频流播放器-movie player for iOS using ffmpeg
VKVideoPlayer is the same battle tested video player used in our Viki iOS App enjoyed by millions of users all around the world.
Android/iOS video player based on FFmpeg n2.8, with MediaCodec, VideoToolbox support.
a replacement for Core Data & SQLite
基于 Core Data 极为轻量、易用的对象持久化工具库,相当于 ActiveRecord 的 Swift 版本。非常好的项目
Uber开源的数据库框架
图片加载动画
给图片加水印
vvebo作者-gif图加载,轻量、低内存
图片选择、浏览
swift图片选择
swift图片选择
swift类似iMessage的图片选择
类似wechat的图片选择
仿 QQ 图片选择器
vvebo作者:多选照片、预览已选照片、针对超大图片优化
完整、强大、实用的图片管理类库。主要功能包括可定制装载,缓存,滤镜及尺寸变换。
Easily communicate between iOS/OSX devices using BLE
类似FB app的弹出框
一款可以带图片显示的下拉通知条
收集了不少优雅的 iOS 动画加载效果
UINavigationController
上下滚动时自动消隐或显示导航标题栏类库及示例
Pop Gesture Works Perfect With UITableView【全屏Pop手势完美匹配UITableView无冲突】
Enable or disable property for each view controller conveniently.【简单地针对每一个Controller开关属性】
Pushes/Pops a view controller when hides/shows navigation bar display soomthly【当控制器做Push/Pop时无缝、平滑地显隐导航栏】
Release some restrictions make your navigation controller stronger【解除一些限制,使你的导航控制器更加强大】
Follow Apple's API design principles,uses as natural as system api【遵循Apple Inc的API设计原则,使用就像系统API一样自然】 *** # k线图、表格、贝塞尔曲线
iOS平台下的图表组件
用swift写的K线图
贝塞尔曲线
Auto Layout
Swift-自动布局
Masonry的Swift移植版
AutoLayout辅助工具
A powerful Swift programmatic UI layout framework.
Swift版的MJExtension,运行时、反射与一键字典模型互转
通过反射(Refection)实现镜像对象封装库。从而可以更轻松获取(或输出)对象属性名、类型及值变量。
使用于webview与JS的交互
Mac上的一款开源输入法
使用 CATextLayer,实现文字的整体变色(网易新闻顶部菜单)与区域变色(UC 浏览器阅读器顶部菜单)功能。
通过safari自动登录APP
带header,footer,滑动菜单的,分页上下左右滑动的TYSlidePageScrollView
ipad版美团(swift版)
高仿百度传课iOS版
高仿美团iOS版
百度FM swift语言实现
iOS9分屏demo
利用UICollectionView模仿iOS系统桌面图标的交互
一个由国人使用 Swift 语言开发的 iOS 天气类应用
聊天 UI 示例程序
WatchKit 开源小项目示例集锦
完整的天气应用
一个简单的汇率计算App
用于表现修改个人标签,使用UICollectionView实现,动态背景框使用UICollectionViewFlowLayout的DecorationView实现
Code examples of the book "iOS Core Animation Advanced Techniques"
A basic example of a way to implement MVVM using ReactiveCocoa
swift完整Radio应用Professional Radio Station App, created w/ Swift 2.0
搜索项目中未使用的图片资源
用单个 API 处理 iOS 上的权限请求,以便使用前确认可访问“相册”、“相机”、“麦克风”、“通讯录”或“用户位置”。
整合第三方 SDK 微信、微博、 QQ 等为统一的 Diplomat 接口。
keychain管理类。支持多用户账号/密码保存,支持提供设备唯一标示符;APP卸载后所保存信息不会丢失;全部使用方便的类方法实现
Touch ID 和 password 的框架
高仿支付宝解锁(iOS)
可以参考下这个
swift版的SDWebImage,而且功能更多、灵活性更高,可以自己写 Image Filter
iPhone上的调试工具
苹果开发者中心资源国内接力
Facebook的React Native已经开源了iOS版本,使得你能基于JavaScript 和 React编写跨平台的代码,Facebook已经在生产环境中应用了该项技术
基于私有web-core用html+css开发native app
动态更新iOS APP
苹果AppStore被拒理由大全
iOS音频播放的系列博客
IOS设计模式探索(配合大话设计模式学习)
这篇文章是自己学习Swift的笔记与深化。希望这篇文章能够帮助已经有Objective-C经验的开发者更快地学习Swift。同时也品味到Swift的精妙之处。
OS Good Practices 最新版的中文翻译,融合了以往Objective-C和最近一些关于Swift的内容
喵神的每周周报
总结的iOS、mac开源项目及库
iOS9适配教程
Csdn 600万博客「结构之法算法之道」部分经典博文集锦:《程序员编程艺术 — 面试和算法心得》
《Auto Layout 使用心得》系列文章代码仓库
来自:/JanzTam/MyGithubMark
【上篇】【下篇】

我要回帖

更多关于 imageplayerview 的文章

 

随机推荐