微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > iOS开发常用的第三方类库

iOS开发常用的第三方类库

时间:10-08 来源:互联网 点击:

#pragma mark - Pull to Refresh

- (void) pinHeaderView

{

[super pinHeaderView];

// 下拉刷新视图显示一些加载动画

}

- (void) unpinHeaderView

{

[super unpinHeaderView];

// 下拉刷新视图停止动画

}

- (void) headerViewDidScroll:(BOOL)willRefreshOnRelease scrollView:(UIScrollView *)scrollView

{

// 下拉刷新视图显示状态信息

if (willRefreshOnRelease)

//hv.title.text = @松开后刷新...;

else

//hv.title.text = @下拉刷新...;

}

- (BOOL) refresh

{

if (![super refresh])

return NO;

// 下拉刷新加载数据

[self performSelector:@selector(addItemsOnTop) withObject:nil afterDelay:2.0];

return YES;

}

#pragma mark - Load More

- (void) willBeginLoadingMore

{

// 上拉加载更多视图加载动画

}

- (void) loadMoreCompleted

{

[super loadMoreCompleted];

// 上拉加载更多视图停止动画

if (!self.canLoadMore) {

//没有更多数据的时候执行代码...

}

}

- (BOOL) loadMore

{

if (![super loadMore])

return NO;

// 上拉加载更多数据

[self performSelector:@selector(addItemsOnBottom) withObject:nil afterDelay:2.0];

return YES;

}

//

- (void) addItemsOnTop

{

// 加载数据...

[self.tableView reloadData];

// 数据加载完成通知上拉视图

[self refreshCompleted];

}

- (void) addItemsOnBottom

{

// 加载更多数据...

[self.tableView reloadData];

// 通过判断设置是否可以加载更多

//self.canLoadMore = NO;

// 数据加载完成通知下拉视图

[self loadMoreCompleted];

}

SVPullToRefresh 下拉刷新、上拉加载更多

GitHub:https://github.com/samvermette/SVPullToRefresh

包含SVPullToRefresh + SVInfiniteScrolling为UITableView提供下拉刷新、上拉加载更多功能。

使用起来也相当简单,只要在UITableViewController里实现以下方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

- (void)viewDidLoad {

[super viewDidLoad];

__weak SVViewController *weakSelf = self;

// 设置下拉刷新

[self.tableView addPullToRefreshWithActionHandler:^{

[weakSelf insertRowAtTop];

}];

// 设置上拉加载更多

[self.tableView addInfiniteScrollingWithActionHandler:^{

[weakSelf insertRowAtBottom];

}];

}

- (void)viewDidAppear:(BOOL)animated {

[tableView triggerPullToRefresh];

}

- (void)insertRowAtTop {

// 获取数据....

// 停止动画

[self.tableView.pullToRefreshView stopAnimating];

}

- (void)insertRowAtBottom {

// 获取数据....

// 停止动画

[weakSelf.tableView.infiniteScrollingView stopAnimating];

}

CMPopTipView 提示信息

GitHub:https://github.com/chrismiles/CMPopTipView

CMPopTipView用于在一些视图上显示提示信息:

1

2

3

4

5

6

7

8

9

10

self.tipView = [[CMPopTipView alloc] initWithMessage:@提示消息];

self.tipView.delegate = self;

[self.tipView presentPointingAtView:anyButton inView:self.view animated:YES];// 点击按钮显示

[self.tipView presentPointingAtBarButtonItem:barButtonItem animated:YES];// 点击导航栏按钮显示

#pragma mark CMPopTipViewDelegate methods

- (void)popTipViewWasDismissedByUser:(CMPopTipView *)popTipView {

// 清理资源

self.tipView = nil;

}

PrettyKit

GitHub:https://github.com/vicpenap/PrettyKit

定制了一些UI组件如UITableViewCell、UINavigationBar、UITabBar、UIToolBar等,比系统自带的更加美观。

MGBox2

GitHub:https://github.com/sobri909/MGBox2

提供一些定制的UI组件可以更简单快速的创建表格、网格布局,以及丰富的文本呈现,基于block的事件机制等,包含:MGBox、MGTableBox、MGTableBoxStyled、MGScrollView、MGButton、MGEvents、MGEasyFrame、MGLine等,其中MGBox还支持screenshot方法用于截图。

Nimbus

GitHub:https://github.com/jverkoey/nimbus

著名的框架,提供了一套非常丰富的UI组件,可以使开发变得更加简单、有效率。

FlatUIKit

GitHub:https://github.com/Grouper/FlatUIKit

扁平化设计的UI组件,类似于WP或

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top