iOS開發之封裝一個水平功能表列類的教程,ios功能表列
開發比較大的軟體需要建立功能表列,功能表列可以讓使用者快速查詢選擇自己所需要的事物。常見的功能表列是由一系列按鈕和圖片組合而成。建立時需要多少個功能表項目就手動添加多少個按鈕和圖片。如果功能表項目多就選擇迴圈建立。當前經驗是封裝一個水平方向的列表功能表列類,類被封裝後可以省掉每次使用時都需要重新建立、排版的複雜過程。大大提高開發效率。
建立工程項目和視圖控制器
1、建立一個empty(空的)工程項目,建立一個UIViewController;
2、選中工程,右鍵-New File…選擇“Cocoa Touch Class”-Next,給個合理的名稱ViewController,再Next完成;
3、在AppDelegate.m檔案包含#import "ViewController.h";
4、初始化建立ViewController的視圖控制器,並用導覽列控制器包含。將之設定為根視圖控制器。
建立封裝水平功能表列類
1、選中工程,右鍵-New File…選擇“Cocoa Touch Class”-Next;
2、選擇繼承於UIView的視圖,命名為:HorizontalMenuView;
3、Next後選擇儲存路徑(一般預設),最後Create建立完成。
建立HorizontalMenuView的屬性和方法
1、開啟HorizontalMenuView.h檔案;
2、建立菜單名數組和設定菜單名方法setNameWithArray。
寫出setNameWithArray實現方法
1、在Xcode6.0以前UIView的m檔案會有initWithFrame方法,而Xcode6.0就沒有了,所以可以考慮把代碼寫在drawRect方法裡面;
2、現在獨立建立了設定菜單名方法,所以添加按鈕等代碼就轉移到setNameWithArray實現方法內;
3、將設定的值賦值給菜單名全域變數_menuArray。
為HorizontalMenuView顯示控制項
1、根據_menuArray元素個數,for建立按鈕;
2、設定按鈕標識tag;
3、設定按鈕字型大小 顏色 狀態;
4、添加按鈕點擊響應事件;
5、添加分割線、底部劃線和當前被選中的標識底線。
實現按鈕點擊響應事件
1、遍曆擷取self所有子類;
2、判斷是否是按鈕類[UIButton class];
3、如果是UIButton則根據被點擊的sender.tag設定各個按鈕的使能;
4、根據被點擊的sender.tag動畫移動標識底線。
添加協議代理,實現傳值
1、在HorizontalMenuView.h添加協議;
2、在協議內寫協議方法擷取被選中菜單;
3、建立協議委託;
4、在HorizontalMenuView.m的點擊實現方法擷取下標值。
使用方法
1、在ViewController.m包含#import "HorizontalMenuView.h";
2、添加協議委託代理;
3、建立並初始化HorizontalMenuView,添加至視圖;
4、設定菜單名數組;
5、設定委託代理;
6、實現協議方法。
代碼運行效果