下拉選擇選單封裝
http://blog.csdn.net/u012701023/article/details/51778657
- //
- // OrderListDownMenu.h
- #import <UIKit/UIKit.h>
- @protocol OrderListDownMenuDelegate <NSObject>
- - (void)OrderListDownMenu:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
- @end
- typedefvoid(^Dismiss)(void);
- @interface
- @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];
- }
- }
- returnself;
- }
- - (void)layoutSubviews {
- [super layoutSubviews];
- }
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- returnself.arrData.count;
- }
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
- returnself.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
相關推薦
下拉選擇選單封裝
http://blog.csdn.net/u012701023/article/details/51778657 //// OrderListDownMenu.h#import <UIKit/UIKit.h>@protocol OrderListDow
基於angularjs的下拉選擇框封裝
一:UI產品互動圖 二:實現包括的功能點 1:下拉框內容是表格,類似於一個彈窗 表格內容最多六行,超出的顯示滾動條,表頭固定。 支援鍵盤上下鍵,進行當前項的選擇 支援鍵盤的enter選擇鍵,並支援回撥函式,進行頁面的資料繫結 支援載入後臺資料 支援繫結指令的inpu
JQ的幾種下拉選擇選單的取得方式
var a1 = $('input:radio[name=a1]:checked').val(); 選擇 var rolejob4 = $("#rolejob4").find("option:selected").text(); 下拉 $("#rolename5").va
JSP自定義標籤(一) 樹形下拉選擇選單
<tag> <name>selector</name> <tag-class>com.moonNigh.tagSupport.SelectorTag</tag-class> <body-content&
android彈出下拉選擇選單,單選,多選
選單選擇視窗: 選單多選視窗 選單單選視窗: [java] view plaincopyprint? import android.app.Activity; import android.app.AlertDialog; import android.c
Vue Treeselect下拉樹實現,選擇部門下拉樹,下拉樹選單
先來看一張最基本的效果圖: 介紹 具有巢狀選項支援的單個和多個選擇 模糊匹配 非同步搜尋 延遲載入(僅在需要時載入深層選項的資料) 鍵盤支援(使用Arrow Up&Arrow Down鍵導航,使用鍵選擇選項Enter等) 豐富的選項和高度可定製 支
如何設定Select下拉選擇框(選單)的樣式
增加CSS樣式: <style type="text/css">.select{border:1px #004080 solid;float: left;}.select div{border:1px #efefef solid;float: left;}.s
基於jquery封裝的顏色下拉選擇框
應同事要求,花了半個小時,寫了一個簡單的選擇顏色的下拉框控制元件,可以控制輸入框指示結果顏色 也貼出來,說不定哪天有用 if (typeof jQuery === 'undefined') { throw 'no jquery'; } (function () {
jquery封裝樹形下拉選擇元件
style樣式:.treeBox{width: 400px; border: 1px solid black; margin: 0px auto; text-align: center; padding:
Select下拉選擇框
tex max 下拉選擇框 query move size nbsp 獲取 位置 var checkText=$("#select_id").find("option:selected").text(); //獲取Select選擇的Text var checkVal
jeecg3.7中DictSelect數據字典下拉選擇框的用法
clas name vcl val title tco sql 文本 sel 1、參數 屬性名 類型 描述
微信小程序的按下擡起事件,下拉選擇框的事件及點擊確定的方法函數,獲取時間的方法,省市區的方法。
bin img util req fun data hang UNC 日期 擡起按下的事件: 擡起事件: bind:touchstart="nanOne" 把這條屬性放到標簽裏就可以了 在JS中 nanOne: function () { this.setDa
django前端頁面下拉選擇框預設值設定
1,前端樣式 2,前端html程式碼 <select name="row.status"> <option value="ON" {% if row.status == 'ON' %} selected="selected" {% endif %}>
select下拉選擇框實現迴圈遍歷資料庫
<select class="form-control input-medium" id="organ"> <option value="">所屬部門</option> <c:forEach var="organ"
UI標籤庫專題十一 JEECG智慧開發平臺 DictSelect 資料字典下拉選擇框
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
HTML下拉選擇 簡單例項 新增刪除節點到另一個節點下
下拉選擇 簡單例項 <html> <head> <title>HTML</title> <style type="text/css"> </style> </h
JS:使用c:forEach實現下拉選擇
思路 後臺生成xxlist,新增到model中 使用c:forEach將list中的xx迴圈出來,放到每一個option中 程式碼 <div class="form-group"> <label class="col-sm
select2 智能補全模糊查詢select2的下拉選擇框使用
bootstrap csdn 下拉選擇 們的 應用 圖片 文章 jsp 模糊查詢 我們在上篇文章中已經在SpringMVC基礎框架的基礎上應用了BootStrap的後臺框架,在此基礎上記錄select2的使用。 應用bootstrap模板 基礎項目源碼下載地址為:
layui下拉框js封裝
/** * 初始化返回資料型別下拉框 * @param comboboxId 下拉框ID * @param param 自定義sql要傳入的引數,例如 {cfgCode:'ENUM_GETTER',enumCategoryId:enumCategoryId} 其中cfgCode為必傳引數 *
react native 下拉選擇
<ModalDropdown options={type} //下拉內容陣列 style={styles.modal} //按鈕樣式 dropdownStyle={[styles.dropdown,{height:32*type.length}]} /