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

首頁 > 系統 > iOS > 正文

iOS下拉選擇菜單簡單封裝

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

本文實例為大家分享了簡單封裝的iOS下拉選擇菜單代碼,供大家參考,具體內容如下

// // OrderListDownMenu.h  #import <UIKit/UIKit.h>  @protocol OrderListDownMenuDelegate <NSObject>  - (void)OrderListDownMenu:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;  @end  typedef void(^Dismiss)(void);  @interface OrderListDownMenu : UIView<UITableViewDataSource, UITableViewDelegate>  @property (nonatomic, strong) UITableView *tableView; @property (nonatomic, assign) id<OrderListDownMenuDelegate> delegate; @property (nonatomic, strong) NSArray *arrData; @property (nonatomic, strong) NSArray *arrImgName; @property (nonatomic, copy) Dismiss dismiss;  - (instancetype)initWithDataArr:(NSArray *)dataArr origin:(CGPoint)origin width:(CGFloat)width rowHeight:(CGFloat)rowHeight;  - (void)dismissWithCompletion:(void (^)(OrderListDownMenu *object))completion;  @end 
#import "OrderListDownMenu.h"  #define TopToView 63.0f #define rightToView kScreenWidth - 15.0f #define LeftToView kScreenWidth - 145.0 - 10.0f #define CellLineEdgeInsets UIEdgeInsetsMake(0, -80, 0, 0) #define kScreenWidth    [UIScreen mainScreen].bounds.size.width #define kScreenHeight    [UIScreen mainScreen].bounds.size.height  @interface OrderListDownMenu()  @property (nonatomic, assign) CGPoint origin; @property (nonatomic, assign) CGFloat rowHeight;  @end  @implementation OrderListDownMenu  - (instancetype)initWithDataArr:(NSArray *)dataArr origin:(CGPoint)origin width:(CGFloat)width rowHeight:(CGFloat)rowHeight {      self = [super initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];   if (self) {     if (rowHeight <= 0) {       rowHeight = 50;     }          // 設置背景顏色     self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.2];     self.origin = origin;     self.rowHeight = rowHeight;     self.arrData = [dataArr copy];     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(origin.x + LeftToView, origin.y + TopToView, width, rowHeight * dataArr.count) style:UITableViewStylePlain];     _tableView.dataSource = self;     _tableView.delegate = self;     [self addSubview:_tableView];          _tableView.backgroundColor = [UIColor whiteColor];     _tableView.layer.cornerRadius = 2;     _tableView.bounces = NO;     _tableView.layer.cornerRadius = 8;     _tableView.separatorColor = [UIColor colorWithWhite:0.3 alpha:1];         _tableView.separatorStyle = UITableViewCellSelectionStyleNone;     [_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];          if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {       [self.tableView setSeparatorInset:CellLineEdgeInsets];     }          if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {       [self.tableView setLayoutMargins:CellLineEdgeInsets];     }   }   return self; }  - (void)layoutSubviews {   [super layoutSubviews]; }  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {   return self.arrData.count; }  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {   return self.rowHeight; }  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];   cell.textLabel.textColor = THEME_COLOR_GRAY_1;   cell.textLabel.font = [UIFont systemFontOfSize:15];   cell.textLabel.text = self.arrData[indexPath.row];      if (self.arrImgName.count > indexPath.row) {     cell.imageView.image = [UIImage imageNamed:self.arrImgName[indexPath.row]];     cell.imageView.contentMode = UIViewContentModeScaleAspectFit;   }      UILabel *label = [[UILabel alloc] init];   label.frame = CGRectMake(0, 49, _tableView.frame.size.width, 0.5);   label.backgroundColor = THEME_SEPARATOR_COLOR;   [cell.contentView addSubview:label];      return cell; }  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {      if([self.delegate respondsToSelector:@selector(OrderListDownMenu:didSelectRowAtIndexPath:)]){     [self.delegate OrderListDownMenu:tableView didSelectRowAtIndexPath:indexPath];   }      [tableView deselectRowAtIndexPath:indexPath animated:YES];   [self dismissWithCompletion:nil]; }  - (void)dismissWithCompletion:(void (^)(OrderListDownMenu *object))completion {      __weak __typeof(self) weakSelf = self;   [UIView animateWithDuration:0.2 animations:^{     weakSelf.alpha = 0;     weakSelf.tableView.frame = CGRectMake(weakSelf.origin.x + LeftToView + 145, weakSelf.origin.y + TopToView, 0, 0);   } completion:^(BOOL finished) {     [weakSelf removeFromSuperview];     if (completion) {       completion(weakSelf);     }     if (weakSelf.dismiss) {       weakSelf.dismiss();     }   }]; }  - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {      UITouch *touch = [touches anyObject];   if (![touch.view isEqual:self.tableView]) {     [self dismissWithCompletion:nil];   } }  - (void)drawRect:(CGRect)rect {      //[colors[serie] setFill];      //拿到當前視圖準備好的畫板      CGContextRef context = UIGraphicsGetCurrentContext();      //利用path進行繪制三角形      CGContextBeginPath(context);//標記      CGContextMoveToPoint(context,              rightToView - 13, 53);//設置起點      CGContextAddLineToPoint(context,               rightToView - 21, TopToView);      CGContextAddLineToPoint(context,               rightToView - 4, TopToView);      CGContextClosePath(context);//路徑結束標志,不寫默認封閉       [self.tableView.backgroundColor setFill]; //設置填充色      [self.tableView.backgroundColor setStroke]; //設置邊框顏色      CGContextDrawPath(context,            kCGPathFillStroke);//繪制路徑path }  @end 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩不卡在线观看| 亚洲成色777777女色窝| 国产精品九九久久久久久久| 日韩欧美在线字幕| 97精品一区二区视频在线观看| 久久久伊人日本| 亚洲网站在线播放| 中文一区二区视频| 亚洲va国产va天堂va久久| 久久久极品av| 欧美日韩国产一区二区| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲护士老师的毛茸茸最新章节| 色噜噜狠狠色综合网图区| 久久久电影免费观看完整版| 国产成人精品视频在线观看| 色婷婷成人综合| 尤物yw午夜国产精品视频明星| 日韩大片免费观看视频播放| 国产偷亚洲偷欧美偷精品| 国产一区二区三区直播精品电影| 亚洲精品日韩久久久| 国产脚交av在线一区二区| 韩国v欧美v日本v亚洲| 久久久久国产视频| 日韩中文字幕国产精品| 国产亚洲福利一区| 久久久久亚洲精品成人网小说| 国产精品福利在线观看网址| 国内精品模特av私拍在线观看| 伊人av综合网| 91在线高清视频| 国产精品久久精品| 国内精品久久久久久影视8| 色偷偷91综合久久噜噜| 久久电影一区二区| 亚洲国产美女精品久久久久∴| 日韩精品一区二区三区第95| 欧美乱妇40p| 成人黄色在线观看| 一区二区三区视频免费在线观看| 亚洲精品视频在线观看视频| www.国产一区| 成人免费网站在线看| 欧美在线www| 久久精品国产欧美亚洲人人爽| 日韩毛片在线看| 久久视频在线看| 最近更新的2019中文字幕| 国产成人久久精品| 亚洲精品国产福利| 欧美成人激情在线| 日韩电影大全免费观看2023年上| 国产成人小视频在线观看| 欧美日韩亚洲视频一区| 日韩av在线影视| 国产精品一区二区久久久久| 欧美美女操人视频| 国产69精品久久久| 亚洲国产精品久久久久久| 亚洲欧美资源在线| 中文字幕亚洲字幕| 亚洲毛片一区二区| 亚洲性视频网址| 亚洲精品久久久久中文字幕欢迎你| 韩国三级日本三级少妇99| 欧美视频二区36p| 国产美女精品视频| 亚洲欧美日韩精品久久奇米色影视| 国内精品久久久久影院优| 日韩精品视频观看| 日本老师69xxx| 91在线色戒在线| 欧美日在线观看| 91精品国产乱码久久久久久蜜臀| 亚洲mm色国产网站| 亚洲iv一区二区三区| 国产精品大片wwwwww| 久久久久亚洲精品成人网小说| 亚洲人成电影在线播放| 久久99热这里只有精品国产| 欧美精品在线免费观看| 欧美中文在线字幕| 美女视频黄免费的亚洲男人天堂| 国产精品三级美女白浆呻吟| 久久久综合av| 国产精品久久婷婷六月丁香| 久久成人人人人精品欧| 国产精品69精品一区二区三区| 8x海外华人永久免费日韩内陆视频| 国产精品久久一区主播| 青青草成人在线| 欧美精品久久久久久久免费观看| 欧美成人自拍视频| 亚洲小视频在线观看| 性日韩欧美在线视频| 国产一区二中文字幕在线看| 亚洲成色777777在线观看影院| 亚洲xxx自由成熟| 国产精品无av码在线观看| 一区二区三区黄色| 欧美日韩综合视频网址| 97在线精品视频| 久久精品国产99国产精品澳门| 色综合导航网站| 国产精品www色诱视频| 秋霞av国产精品一区| 亚洲精品国产电影| 亚洲成人网在线观看| 91久久国产婷婷一区二区| 国产中文日韩欧美| 国产精品极品在线| 日韩高清免费观看| 18一19gay欧美视频网站| 欧美激情xxxxx| 国产视频亚洲视频| 美女扒开尿口让男人操亚洲视频网站| 国产伦精品一区二区三区精品视频| 欧美性黄网官网| 久久99久久99精品免观看粉嫩| 亚洲第一二三四五区| 555www成人网| 2018日韩中文字幕| 亚洲自拍小视频免费观看| 成人免费网视频| 欧美精品成人91久久久久久久| 欧美成人黑人xx视频免费观看| 亚洲欧美日韩国产中文| 在线观看不卡av| 欧美俄罗斯乱妇| 欧美成人精品在线| 国产一区二区激情| 日韩乱码在线视频| 亚洲图片在线综合| 国产免费一区二区三区香蕉精| 大伊人狠狠躁夜夜躁av一区| 亚洲精品国产免费| 欧美极品美女电影一区| 日本在线观看天堂男亚洲| 日韩高清电影免费观看完整| 精品久久久久久久久久久| 日韩美女免费视频| 国产成人精品免费久久久久| 亚洲欧美在线播放| 国产精品日韩在线观看| 国产精品久久久久久久久久免费| 国产精品www网站| 国产日韩在线亚洲字幕中文| 欧美电影在线观看完整版| 久久这里有精品| 久久露脸国产精品| 欧美日韩精品国产| 国语对白做受69| 亚洲视频在线观看视频| 国产91精品久久久| 欧美精品在线网站| 国内外成人免费激情在线视频网站| 亚洲人精选亚洲人成在线| 国产精品一区二区三区久久久| 亚洲图中文字幕| 日韩精品久久久久久福利| 国产精品视频导航| 日韩亚洲在线观看| 日韩欧美黄色动漫|