[ios開発] 2020.9.6-2020.9.12ノート

  1. UINavigationControllerを使用する場合は、pushViewController:animatedを使用します
    ----前のビューに戻る[[self NavigationController] popViewControllerAnimated:YES];
    —ps:プッシュすると、将来、ナビゲーションの左側のバーに戻るボタンが自動的に追加され、その応答メソッドは戻ります。したがって、通常、returnメソッドを作成する必要はなく、戻るボタンをクリックするだけです。
  2. また、presentModalViewController:animated
    [self presentModalViewController:controlleranimated:YES]; // YESにはアニメーション効果があります
    -----前のビューに戻ります[selfdismissModalViewControllerAnimated:YES];
  3. C ++と比較すると、initはデフォルトの構造に似ており、initWith ...は実際のパラメーターを提供する構造に似ています。
  4. 模擬インターフェースを作成する上での主な問題は、
    1。値の受け渡し
    2.カスタムセル
    3.ナビゲーションの作成とナビゲーションバーの作成だと思います。
  5. UIButtonのいくつかの状態
    UIControlStateNormal = 0、通常の状態が表示されます

UIControlStateHighlighted = 1 << 0、強調表示された状態が表示されます

UIControlStateDisabled = 1 << 1、無効状態のみが表示されます

UIControlStateSelected = 1 << 2、選択された状態

UIControlStateApplication = 0x00FF0000、アプリケーションがマークされている場合

UIControlStateReserved = 0xFF000000は内部フレームワーク用に予約されているため、無視してかまいません。

  1. 折りたたまれたセルを作成する方法:
    1. 通常どおりテーブルビューを作成する
    2. viewForHeaderInSectionでUIControlコントロールを作成します(UIControlコントロールの概要:https://blog.csdn.net/iteye_9214/article/details/82283002?utm_medium = distribute.pc_relevant.none-task-blog-searchFromBaidu-2.channel_param&depth_1-utm_source = distribute.pc_relevant.none-task-blog-searchFromBaidu-2.channel_param
    3. UIControlのタグを使用して現在のグループを記録し、クリックイベントUIControlEventTouchUpInsideを設定すると、クリックイベントがパラメーターUIControlを渡します。
    4. ブール変数の配列を作成するには、テーブルビューでnumberOfRowsInSectionを作成するときに選択します。ブール変数がyesの場合、各グループの行は0です。それ以外の場合は、通常どおりに作成されます。クリックイベントの後半で、渡されたばかりのパラメーターのタグ値を使用して、それがどのグループであるかを判別し、次に必要なブール配列の反対(つまり、感嘆符が追加されます)
    5. ロゴも変更した後は、最後のステップだけが残っています。クリックすると、リストを更新する必要があります。
    NSIndexSet * index = [NSIndexSet indexSetWithIndex:i];
       [_tableview reloadSections:index withRowAnimation:UITableViewRowAnimationAutomatic];

キーコード:

//开始创建

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    
    if(flag[section] == YES){
    
    
        return 0;
    }
    return 8;
}


-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    
    
    return 50;
}

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    
    
   
    UIControl *view = [[UIControl alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 80)];
    view.tag = section;
    view.backgroundColor = [UIColor grayColor];
    [view addTarget:self action:@selector(press:) forControlEvents:UIControlEventTouchUpInside];
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 70, 30)];
    label.textColor = [UIColor blackColor];
    label.font = [UIFont systemFontOfSize:15];
    label.text = [NSString stringWithFormat:@"第%ld组",section];
    [view addSubview:label];
    return view;

}

-(void)press:(UIControl *)view{
    
    
    NSInteger i = view.tag;
       //取反
    flag[i] = !flag[i];
       //刷新列表
       NSIndexSet * index = [NSIndexSet indexSetWithIndex:i];
       [_tableview reloadSections:index withRowAnimation:UITableViewRowAnimationAutomatic];
}
@end

UINavigationController与UITabBarController

  1. UINavigationControllerはUIViewControllerを継承し、スタックベースのコンテナコントローラーです。コンテナであるため、何かを保持できます。たとえば、UIViewはさまざまなコンポーネント(UILabel、UIButtonなど)を保持でき、UINavigationControllerはビューコントローラです。
    UINavigationControllerには、いくつかの部分が含まれています。

ナビゲーションスタックナビゲーションスタック。ビューコントローラをスタックの形式で管理します。スタックの1つのビューコントローラー(スタックの最下部)はルートビューコントローラーと呼ばれ、他のビューコントローラーは子ビューコントローラーと呼ばれます。スタック内のコントローラーは、self.navigationControllerを介してUINavigationControllerのインスタンスを見つけることができます。

UINavigationBarナビゲーションバー。スタック内のビューコントロールは、デフォルトで上部にナビゲーションバーを追加します。ナビゲーションバーは子ビューコントローラーのインターフェイスに表示されますが、UINavigationControllerインスタンスによって管理されます。ただし、ナビゲーションバーのコンテンツは子ビューによって制御されます。コントローラが決定します(self.navigationItemによって設定されます)。

UIToolbarツールバーのUINavigationControllerは、サブビューの下部にツールバーを提供します。これはデフォルトでは表示されず、ほとんど使用されません。

  1. 1.
    UITabBarの下のツールバーはUITabBarと呼ばれます。UITabBarControllerにN個のサブコントローラーがある場合、UITabBarにはそれに対応するサブコントロールとしてN個のUITabBarButtonがあります。

注:UITabBarButtonはUITabBar内で偶数の位置にあり、UITabBarの高さは49です。

  1. UITabBarButton

UITabBarButtonに表示されるコンテンツは、対応するサブコントローラーのtabBarItemプロパティによって決まります。

最も単純な例の1つを取り上げます。これは、ログインを確認した後の通常のインターフェイスです。

最初に各ページを作成し、次にUINavigationController(ナビゲーションコントローラー)を介してビューコントローラーを制御します

作成時に最初に5つのナビゲーションコントローラーを作成し、提供された実際のパラメーターを使用して、それぞれが新しいルートビューになるようにページに対応するものを作成し、次にこれらの5つのナビゲーションコントローラーを新しい配列で保存して新しいものを作成する方法特定のページ切り替え操作を実行するためのタブバー。新しく作成されたtabbar.viewcontrollerに配列を割り当て、最後にself.view.window.rootviewcontroller =作成されたばかりのタブバー
(ターバーとナビゲーションコントローラーは互いに補完し合う)を介してビューに表示します。

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/m0_46110288/article/details/108436518