iOS UIベースコントロールのUIVE詳細

2958 ワード

UIViewの概要


UIViewとは

UIViewはウィンドウ上の であり、iOSのすべてのコントロールの であり、私たちがappで見ることができるものはすべて直接または間接的にUIViewに継承されている.私たちはUIView と呼んでいます.

UIViewの役割

  • 内部領域のコンテンツレンダリングを担当します.
  • 内部領域のタッチイベントを担当する.
  • すべてのサブビューを管理します.
  • 基本的なアニメーションを処理します.

  • UIViewの作成と使用


    UIViewの作成

        //  frame  View
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
        
        //       
        [self.window addSubview:view];
    
    

    ビューは領域であるため、UIViewを作成すると同時に を設定する必要があり、frameは位置とサイズを含む 体である.

    UIViewの基本プロパティ

        //         
        view.backgroundColor = [UIColor redColor];
        
        //           
        view.frame = CGRectMake(200, 100, 200, 200);
        
        //        [0.0, 1.0]
        view.alpha = 0.5;
        
        //      
        view.hidden = NO;
        
        //       
        view.tag = 100;
        
        //   
        view.center = self.window.center;
        
    

    注意:ここでは特にframeと言います.彼はUIViewの非常に重要な属性で、UIViewの大きさと位置を決定しました.frameで設定されている位置は、UIViewの 座標系を基準としており、特に注意が必要なのは frame , frame

    サブビュー管理

  • NSArray *subviews
  • すべてのサブビューを管理(コントロール)
  • 配列要素の順序は、サブコントロールの表示レベルの順序を決定する(下付き文字が大きいほど上に表示される)
  • すべてのサブビューの管理はsubviews配列の管理

  • ビューの追加

        UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
        view2.backgroundColor = [UIColor greenColor];
        view2.tag = 200;
    
        // view2   view 
        [view addSubview:view2];
    

    上記コードで追加すると、view2viewのサブビューであり、viewview2の親ビューである.すべてのビュー間に階層レベルの関係があり、後に追加されたビューほど上に表示され、前に追加されたビューは下に表示されます.

    ビューの挿入

        //   yView   view     ,   0   
        //         ,         
        //     [0,      )
        [view insertSubview:yView atIndex:0];
        
        // oView   view     view2   
        [view insertSubview:oView belowSubview:view2];
    
        //  View   view     , yView   
        [view insertSubview:rView aboveSubview:yView];
        
    

    ビューの削除


    UIDIewにおけるサブビューの管理は配列による要素の管理とは異なり、 を削除することはできず、 で親ビューから自分を削除することしかできない.
        //view2          
        [view2 removeFromSuperview];
    
    

    ビューの取得


    ビューには名前はありませんが、 を持っているので、ビュー内の を取得するには、サブビューのIDで取得できます.方法は次のとおりです.
        //  view       200   
        UIView *subView = [view viewWithTag:200];
    
    

    ビューの表示レベルの変更

        //     ,            
        [view bringSubviewToFront:yView];
        
        //     ,            
        [view sendSubviewToBack:view2];
    
    

    文章がいいと思ったら、文章の下の をクリックしてください!!あなたの支持は私に対して最も良い励ましで、ありがとうございます!!!