建立mvc

有幾個界面就建幾個文件夾
每一個文件夾中都有三個文件夾,(models,Controllers,views)
建立一個common 和一個Base文件夾(先建文件夾,能夠直接拉進去)
common的目的是建立第三方框架
Base是其餘基礎(Baseviewcontroller 和BasenavigationController,BaseTabBarController)
建立PCH(預編譯文件)文件(目的是在整個文件編譯以前導入頭文件,避免重複導入)
導入預編譯的文件
1Base文頭文件
 
 宏定義
2#define  新名  舊名
 
 3common文件
  common文件有第三方的頭文件(common的類型是 Header File文件)
 
 
//建立窗口
//建立標籤控制器
 設置爲窗口的足視圖控制器
 設置標籤控制器的控制器數組
 
 for ( in){  }//遍歷數組????
初始化控制器數組(NSClassFromString(類名),控制器的初始化[NSClassFromString(類名) alloc] init],這個控制器初始化的值用父類來接收)
設置 控制器的TabBarItem.title 
                       TabBarItem.image
 
初始化導航控制器的數組設置根視圖爲上面初始化的控制器
 
 
 
//在每一個視圖控制器的init方法中加入每一個視圖控制器的標題
   控制器.title = @「標題」;(注若是不設置title的話,默認設置的是控制器.TabBarItem.title )
 
//NavigationBar的背景顏色和字體
 在BaseNavigationController裏進行設置
 self.navigationBar.backgroundColor//這樣不是咱們想要的
 
//定製一個類的外貌直接做用於父類??
推薦使用
 
 
//定製系統狀態欄風格??(若是隱藏了導航欄的話,要重寫這個方法)
 
 
 
//主頁面
 隱藏導航控制器
新建一個自定義導航控制器的視圖
新建一個自定義的導航控制器器的背景圖
 
 
在導航控制器中放控件
 
 
左側安鈕
button的文字的偏移屬性
button的圖片的偏移屬性
 
記住當一個視圖控制器有導航控制器 和標籤控制器的時候,當這個視圖控制器pushViewController的時候push到的控制器頁擁有了標籤控制器 和 導航控制器
 
//若是類似的文件中代碼重複多的話,咱們能夠寫這幾個類似文件的父類
 
//在視圖控制器中
 
 
這3中方法的前後順序
-(id)init
-(void)loadView
-(void)ViewDidLoad(在這時候這個控制器的View才能顯示出來,才能在這個控制器的View上加其它的視圖)
 
NavgationBar 自帶一個邊緣手勢(就是咱們滑動的時候能夠返回到上一個界面(但咱們把Navgationbar隱藏的時候,這個邊緣手勢也就沒有了))
 
 
通常建立手勢的時候,咱們通常用swipe的清掃手勢
 
- (void)swipeAction:(UISwipeGestureRecognizer *)swipe {

    switch (swipe.direction) {
        case UISwipeGestureRecognizerDirectionRight:
        {
            CGPoint point = [swipe locationInView:self.view];//這個是判斷這個手勢的點在這個控制器的View裏面的位置
           
            if (point.x < 20) {
               
                [self.navigationController popToRootViewControllerAnimated:YES];
            }
           
        }//記住,當Case裏面使用的是函數的時候能夠不用大括號,可是當調用方法的時候必須使用大括號
            break;
           
        default:
            break;
    }

}
 
 
//當用代碼寫的時候一定用
-(id)initWithFram:(CGRect)fram{
}
//當用xib進行加載的時候
—(void)awakFromNib{
}
 
//怎麼才能走到這個類裏面,必須複寫init方法
 
 
//表視圖
(兩個必須實現的方法)datasource
 
//1返回單元格的個數
//2每一個單元個的樣子{
     //設置一個標識符
   咱們的單元格首先要到tableView(表視圖)複用池裏面去取,根據就是標誌符
 static NSString *identfier = @"HomeCell";
   
    HomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identfier];
 
//判斷複用池裏有沒有帶有標誌符的cell,
若是沒有的話咱們就去建立
    if (!cell) {
       
    cell = [UITableview alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier: identifier];
   
}
 
//delegate
//行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return 150;
}
 
     
 
/聲明代理的時候必須用assign
@property (nonatomic, assign)id <HomeTableViewDelegate> scrollDelegate;  
 
 
 
//圖片的加載
   加載本地的圖片方式
 
 
 
  加載網絡圖片方式
  URL是圖片在網路上的存儲地址
 
 
 
當一個變量用的次數多的時候就聲明爲全局變量,當用的次數很少的時候那麼就用tag值
 
 
 
 // 過渡形式實現翻轉動畫
    UIViewAnimationTransition transition = flip?UIViewAnimationTransitionFlipFromLeft:UIViewAnimationTransitionFlipFromRight;
 
//注意
   // 3.數據傳遞。(一是數據,二是子視圖 當兩者所有存在是才能完成數據的傳遞)
    _tableView.dataList = _homeModels;
   
    _posterView.dataList = _homeModels;
    
   @property (nonatomic, strong)HomeModel *model;//注意model屬性用 strong
 
 
 
 
 
//把字典存儲爲一個類的形式,屬性就是key值,value就是屬性的值
相關文章
相關標籤/搜索