一個Mp3播放控制器(作者:jxb_sir)
支持自定義顏色,支持播放本地與網絡mp3,網絡MP3會顯示下載的進度
測試環境:Xcode 6.2,iOS 6.0以上
高仿支付寶手勢解鎖--PCGestureUnlock(作者:iosdeveloperpanc)
目前最全面最高仿支付寶的手勢解鎖,而且提供方法進行參數修改,能解決項目開發中所有手勢解鎖的開發。
框架基礎:全面實現支付寶手勢解鎖,包括各種細節!!!(具體見gif圖片)
框架目標:打造主流手勢解鎖終結者,簡單易用,高度解耦!
框架特點:面向實際項目開發,修改參數(PCCircleViewConst.h文件中)即可實現實際需求
設置密碼:
細節處理之全方向箭頭
細節處理之錯誤繪制
細節處理之跳躍連線
框架使用說明:
使用前說明: 解鎖界面(PCCircleView)可以實例化出特定使用的類型界面,實現以下方法即可 // 初始化方法(設置view的相關類型、參數) - (instancetype)initWithType:(CircleViewType)type clip:(BOOL)clip arrow:(BOOL)arrow; clip代表圓內是否剪切 arrow代表是否有三角箭頭
測試環境:Xcode 6.2,iOS 6.0以上
UITableView實現橫向滑動(作者:lxf2015)
- (void)viewDidLoad { [super viewDidLoad]; UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height/2 - 225, CGRectGetWidth(self.view.frame), 25)]; [headerLabel setBackgroundColor:[UIColor blueColor]]; [headerLabel setAlpha:0.5]; [headerLabel setTextColor:[UIColor colorWithRed:172.0/255.0 green:74.0/255.0 blue:93.0/255.0 alpha:1.0]]; [headerLabel setText:@"莊周夢蝶"]; [headerLabel setFont:[UIFont systemFontOfSize:18]]; [self.view addSubview:headerLabel]; UITableView *myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height/2 - 100, 100, self.view.frame.size.height-100)]; [myTableView.layer setAnchorPoint:CGPointMake(0.0, 0.0)]; myTableView.transform = CGAffineTransformMakeRotation(-M_PI_2); myTableView.dataSource = self; myTableView.delegate = self; myTableView.scrollEnabled = YES; myTableView.userInteractionEnabled = YES; // myTableView.showsHorizontalScrollIndicator = NO; myTableView.showsVerticalScrollIndicator = NO; myTableView.frame = CGRectMake(0, self.view.frame.size.height/2 - 100, self.view.frame.size.width, 100); myTableView.separatorStyle = UITableViewCellSeparatorStyleNone; [myTableView setBackgroundColor:[UIColor whiteColor]]; [self.view addSubview:myTableView]; } -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 15; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *identifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; cell.selectionStyle = UITableViewCellSelectionStyleBlue; self.myLogo = [[LogoView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 100)]; self.myLogo.tag = 101; [cell.contentView addSubview:self.myLogo]; } cell.contentView.transform = CGAffineTransformMakeRotation(M_PI_2); return cell; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 100; }
測試環境:Xcode 6.2,iOS 6.0以上
MVC代碼復用+下拉刷新+字典模型(作者:rdx)
MVC代碼復用+下拉刷新+字典模型
測試環境:Xcode 6.2,iOS 6.0以上
簡單靈活易用的下拉刷新 Pulling Refresh(作者:twinst)
// Set refresh Header indicator - (void) setRefreshHeaderIndicator:(id) indicator; // Set refresh Header with indicator class - (void) setRefreshHeaderWithIndicatorClass:(Class) clazz; // Set refresh Footer indicator - (void) setRefreshFooterIndicator:(id) indicator; // Set refresh Footer with indicator class - (void) setRefreshFooterWithIndicatorClass:(Class) clazz; // Stop Header Refreshing - (void) stopHeaderRefreshing; // Stop Footer Refreshing - (void) stopFooterRefreshing; // Header Refresing - (void) refreshHeader; // Footer Refresing - (void) refreshFooter; // Set refresh enabled, sometimes you need to switch refreshable state - (void) setRefreshEnabled:(BOOL) refreshEnabled; // Set refresh enabled, sometimes you need to switch refreshable state - (void) setRefreshHeaderEnabled:(BOOL) refreshEnabled; // Set refresh enabled, sometimes you need to switch refreshable state - (void) setRefreshFooterEnabled:(BOOL) refreshEnabled; // Refresh header callback - (void) setRefreshHeaderCallback:(void (^)())refreshHeaderCallback; // Refresh footer callback - (void) setRefreshFooterCallback:(void (^)())refreshFooterCallback;
測試環境:Xcode 6.2,iOS 6.0以上