你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 下拉菜單復用

IOS 下拉菜單復用

編輯:IOS開發綜合
由於之前曾經用到過下拉菜單,所以現在花一些時間回過頭來細細整理了一下,逐步完善這個下拉菜單,並提供一些比較基本的功能,以便日後如果有需要的話可以進行復用,並提供給需要的人參考。下拉菜單同樣分為數據源和代理方法,提供以下方法:    
 1 //
 2 //  XWDropdownMenu.h
 3 //  XWReusableCodeLib
 4 //
 5 //  Created by xiao on 15/10/30.
 6 //  Copyright © 2015年 xiao. All rights reserved.
 7 //  下拉菜單
 8 
 9 #import <UIKit/UIKit.h>
10 
11 @class XWDropdownMenu;
12 #pragma mark 數據源方法
13 @protocol XWDropdownMenuDataSource <NSObject>
14 @required
15 /**
16  *  主表格一共有多少行
17  */
18 - (NSInteger)numberOfRowsInMainTable:(XWDropdownMenu *)dropdownMenu;
19 /**
20  *  主表格每一行的標題
21  *  @param row          行號
22  */
23 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu titleForRowInMainTable:(NSInteger)row;
24 /**
25  *  主表格每一行的子數據 數組
26  *  @param row          行號
27  */
28 - (NSArray *)dropdownMenu:(XWDropdownMenu *)dropdownMenu subdataForRowInMainTable:(NSInteger)row;
29 @optional
30 /**
31  *  主表格每一行 分類數量
32  *  @param row          行號
33  */
34 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu countForRowInMainTable:(NSInteger)row;
35 /**
36  *  子表格每一行子數據 分類數量
37  *  @param row          行號
38  */
39 - (NSArray *)dropdownMenu:(XWDropdownMenu *)dropdownMenu subdataCountForRowInSubTable:(NSInteger)row;
40 /**
41  *  主表格每一行的圖標
42  *  @param row          行號
43  */
44 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu iconForRowInMainTable:(NSInteger)row;
45 /**
46  *  子表格每一行的選中圖標
47  *  @param row          行號
48  */
49 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu selectedIconForRowInMainTable:(NSInteger)row;
50 @end
51 
52 #pragma mark 代理方法
53 @protocol XWDropdownMenuDelegate <NSObject>
54 
55 @optional
56 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInMainTable:(NSInteger)row;
57 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInSubTable:(NSInteger)subrow inMainTable:(NSInteger)mainRow;
58 
59 @end
60 
61 #pragma mark 構造方法
62 @interface XWDropdownMenu : UIView
63 + (instancetype)dropdownMenu;
64 -(void)refreshMenu;
65 
66 @property (nonatomic, weak) id<XWDropdownMenuDataSource> dataSource;
67 @property (nonatomic, weak) id<XWDropdownMenuDelegate> delegate;
68 
69 /**主表被選中的字體顏色,默認是黑色*/
70 @property (strong, nonatomic) UIColor *selectedRowTextColor;
71 /**該屬性設置成YES,主表比較小*/
72 @property (nonatomic, assign)BOOL isMainTableSmall;
73 @end

 

     由於還是有一些代碼的,無法在這裡將所有代碼貼出,只能羅列出各個方法並添加注釋,並附上簡單的demo和效果圖      
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved