亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS實現微信朋友圈與搖一搖功能

2020-07-26 03:17:05
字體:
來源:轉載
供稿:網友

本Demo為練手小項目,主要是熟悉目前主流APP的架構模式.此項目中采用MVC設計模式,純代碼和少許XIB方式實現.主要實現了朋友圈功能和搖一搖功能.

預覽效果:


主要重點

1.整體架構

利用UITabBarController和UINavigationController配合實現.其中要注意定義基類,方便整體上的管理,例如對UINavigationController頭部的顏色,字體和渲染顏色等設置.以及對UITabBarController的底部的渲染等.

[self.navigationBarsetBackgroundImage:[UIImageimageNamed:@"Dimensional-_Code_Bg"]forBarMetrics:UIBarMetricsDefault];    [self.navigationBarsetTitleTextAttributes:@{                       NSForegroundColorAttributeName:[UIColor whiteColor]                      }]; [self.navigationBarsetTintColor:[UIColor whiteColor]];

2.發現界面和我的界面

利用UITableViewController和Plist文件實現界面的展示.實現過程中有采用數據模型或直接利用字典等方式.這里的實現比較簡單,就不多說啦.

- (instancetype)initWithDict:(NSDictionary *)dict{ if (self = [super init]) {  [selfsetValuesForKeysWithDictionary:dict];}return self;} + (instancetype)pictureWithDict:(NSDictionary *)dict{ return [[self alloc]initWithDict:dict];}

3.朋友圈功能的實現

這里面主要的難點在于朋友圈首頁的下拉刷新效果的實現,和選擇照片頁的狀態重用問題,以及照片的傳遞和代理的實現等.

朋友圈首頁的下拉刷新效果:主要利用transform屬性和scrollview的多種滾動狀態.

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ self.dragging = YES;}- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ if (self.num == 0) {  self.num ++;  return;} CGFloat offsetY = scrollView.contentOffset.y; CGFloat angle = -offsetY* M_PI / 30; if (self.dragging == YES) {   if (offsetY <= 110) {    self.containerView.y = 10 + offsetY;   } }else {   if (self.currentY < 120) {    self.containerView.y = 10 + offsetY;  } }self.activityView.transform = CGAffineTransformMakeRotation(angle); }- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewwillDecelerate:(BOOL)decelerate{ self.dragging = NO; CGFloat currentY = self.containerView.y;self.currentY = currentY; } - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ [UIViewanimateWithDuration:0.25animations:^{   self.containerView.frame = CGRectMake(15, 120, 30, 30);  self.activityView.transform = CGAffineTransformMakeRotation(2 * M_PI);}]; }

其中照片的展示是采用UICollectionViewController來實現的.沒有直接調用系統的相冊,因此加大了難度.自定義了cell,并采用了代理方式來實現類與類之間的通信.

@protocol YYPictureCellDelegate @optional- (void)pictureCell:(YYPictureCell *)cellwithDidClickBtn:(UIButton *)btn; @end - (IBAction)clickSureBtn:(UIButton *)sender { if ([self.delegaterespondsToSelector:@selector(pictureCell:withDidClickBtn:)]) {   [self.delegatepictureCell:selfwithDidClickBtn:sender];}} - (void)pictureCell:(YYPictureCell *)cellwithDidClickBtn:(UIButton *)btn{ if ((self.selectedBtn.count == 9) && (!btn.isSelected)) {   UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nilmessage:@"最多選取9張照片哦,親!"delegate:nilcancelButtonTitle:@"確定"otherButtonTitles: nil];  [alertshow];   return;} btn.selected = !btn.isSelected; NSIndexPath *indexPath = [self.collectionViewindexPathForCell:cell]; YYPictureModel *model = self.dataArray[indexPath.row]; if (btn.isSelected) {   model.clickedBtn = YES;   [self.selectedBtnaddObject:btn];  [self.selImageArrayaddObject:model]; } else{   model.clickedBtn = NO;  [self.selectedBtnremoveObject:btn];  [self.selImageArrayremoveObject:model];} if (self.selectedBtn.count > 0) {   self.doneBtn.enabled = YES;  self.doneBtn.selected = YES;  self.previewBtn.enabled = YES;  self.previewBtn.selected = YES;}else {   self.doneBtn.enabled = NO;  self.doneBtn.selected = NO;  self.previewBtn.enabled = NO;  self.previewBtn.selected = NO;} }

4.搖一搖功能的實現

搖一搖功能的本身實現十分簡單,就是調用系統的兩個方法即可.難點在于動畫效果.其實這里的動畫效果也不是很難.主要是計算有點復雜.可能是我在網上搜索到的素材有點不合適.導致要考慮各個控件的frame問題…

//實現搖一搖功能- (void)motionBegan:(UIEventSubtype)motionwithEvent:(UIEvent *)event{ self.upLine.hidden = NO;self.downLine.hidden = NO;[UIViewanimateWithDuration:0.6animations:^{   self.upImageView.y -= 60;  self.upLine.y -= 60;   self.downImageView.y += 60;  self.downLine.y += 60; }completion:^(BOOL finished) {   [UIViewanimateWithDuration:0.6animations:^{     self.upImageView.y += 60;    self.upLine.y += 60;     self.downImageView.y -= 60;    self.downLine.y -= 60;   }completion:^(BOOL finished) {     self.upLine.hidden = YES;    self.downLine.hidden = YES;     //彈出搜索框    [self showSearchView];    [self.searchViewperformSelector:@selector(removeFromSuperview)withObject:nilafterDelay:2.4];  }]; }];}//搖一搖結束后- (void)motionEnded:(UIEventSubtype)motionwithEvent:(UIEvent *)event{ }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区三区xxx视频| 久久精品99久久久久久久久| 国产一区二区日韩精品欧美精品| 亚洲白拍色综合图区| 日韩精品中文字| 国产xxx69麻豆国语对白| 国产美女91呻吟求| 欧美另类高清videos| 亚洲无亚洲人成网站77777| 日韩精品在线观看一区| 主播福利视频一区| 一本色道久久88亚洲综合88| 性欧美办公室18xxxxhd| 亚洲a中文字幕| 国产精品国产福利国产秒拍| 超在线视频97| 国产精品自拍网| 精品久久久免费| 国产精品精品久久久久久| 川上优av一区二区线观看| 91香蕉亚洲精品| 精品视频在线观看日韩| 欧洲日本亚洲国产区| 欧美激情2020午夜免费观看| 国产婷婷成人久久av免费高清| 国产精品久久久久久久av大片| 久久人人爽亚洲精品天堂| 亚洲综合在线中文字幕| 国产美女精彩久久| 亚洲成人国产精品| 欧美黑人性生活视频| 欧美成人激情在线| 国产精品久久久久久久天堂| 北条麻妃一区二区三区中文字幕| 国产欧美精品va在线观看| 欧美激情第99页| 国产欧美日韩专区发布| 91麻豆国产精品| 2020久久国产精品| 日韩视频免费大全中文字幕| 久久久久亚洲精品成人网小说| 欧美成年人视频| 98视频在线噜噜噜国产| 亚洲欧美日韩国产中文专区| 日韩av黄色在线观看| 91欧美激情另类亚洲| 欧美专区在线视频| 亚洲夜晚福利在线观看| 亚洲欧洲免费视频| 播播国产欧美激情| 青青草一区二区| 亚洲午夜av久久乱码| 97免费视频在线| 国产成人精品免高潮在线观看| 国产成人鲁鲁免费视频a| 日韩av影院在线观看| 精品亚洲va在线va天堂资源站| 美女精品久久久| 中文字幕亚洲字幕| 日韩电影大全免费观看2023年上| 久久97精品久久久久久久不卡| 欧美—级高清免费播放| 欧美性xxxx| 欧美视频裸体精品| 欧美国产精品va在线观看| 欧美成人精品不卡视频在线观看| 一道本无吗dⅴd在线播放一区| 亚洲精品免费一区二区三区| 久久影院中文字幕| 成人午夜小视频| 久热99视频在线观看| 91精品久久久久久久久中文字幕| 日本免费久久高清视频| 亚洲成人网在线观看| 91精品久久久久久久久久久久久久| 精品国产拍在线观看| 国产精品久久久999| 欧美美女操人视频| www.xxxx精品| 欧美激情一区二区三区久久久| 精品国产欧美一区二区五十路| 亚洲аv电影天堂网| 亚洲精品日韩激情在线电影| 国产成人涩涩涩视频在线观看| 国产在线观看精品一区二区三区| 久久久久久久久久国产| 亚洲精品aⅴ中文字幕乱码| 日韩av不卡在线| 5566日本婷婷色中文字幕97| 亚洲激情视频网站| 亚洲精品久久久久中文字幕二区| 亚州国产精品久久久| 国产精品女人网站| 国产99久久精品一区二区| 2020欧美日韩在线视频| 国产成人精品在线播放| 欧美专区日韩视频| 福利一区福利二区微拍刺激| 欧美疯狂xxxx大交乱88av| 国产欧美日韩精品在线观看| 亚洲人成网站免费播放| 国产精品扒开腿做爽爽爽视频| 日韩av免费在线播放| 2021久久精品国产99国产精品| 国产精品视频区1| 激情久久av一区av二区av三区| 日韩中文视频免费在线观看| 最近的2019中文字幕免费一页| 91精品91久久久久久| 国产精品一区二区av影院萌芽| 日韩在线视频观看| 日本久久91av| 欧美专区在线观看| 91免费看国产| 成人久久久久久| 日韩电影免费在线观看| 国自在线精品视频| 国产精品久久久久秋霞鲁丝| 亚洲人成网站色ww在线| 成人精品网站在线观看| 欧美乱大交做爰xxxⅹ性3| 亚洲国产成人爱av在线播放| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品免费网站| 日韩在线免费观看视频| 亚洲自拍偷拍在线| 欧美老女人性视频| 精品久久久免费| 亚洲欧美第一页| 国产成人精品视频在线观看| 欧美性生活大片免费观看网址| 久久久噜久噜久久综合| 欧美最顶级丰满的aⅴ艳星| 美女国内精品自产拍在线播放| 性欧美长视频免费观看不卡| 欧美成人在线免费| 亚洲一区二区国产| 欧美激情视频一区二区| 精品欧美aⅴ在线网站| 欧美乱人伦中文字幕在线| 欧美日韩另类在线| 91国内免费在线视频| 久久久久久久爱| 日韩av在线播放资源| 精品欧美aⅴ在线网站| 日韩精品视频观看| 91精品一区二区| 亚洲欧美一区二区三区情侣bbw| 国产精品99一区| 成人av电影天堂| 亚洲成人免费网站| 欧美猛男性生活免费| 色偷偷av一区二区三区乱| 欧美性高潮床叫视频| 日韩欧美成人精品| 日韩免费在线免费观看| 日韩精品在线私人| 清纯唯美日韩制服另类| 国产精品毛片a∨一区二区三区|国| 国产精品揄拍一区二区| 国语自产精品视频在线看一大j8| 一区国产精品视频| 欧美视频在线观看免费网址| 97超级碰在线看视频免费在线看|