国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

01-UIKit

2019-11-14 20:44:20
字體:
來源:轉載
供稿:網友

目錄:

一、視圖和控制器

二、interface Builder

回到頂部

一、視圖和控制器

1 視圖(view)ios程序運行期間用戶所能看見的東西都可以認為是視圖,比如UIwindow就是一個視圖類。

* 所有視圖類都直接間接的繼承UIView

* 控件是可以和用戶交互的視圖對象,一般會繼承自UIConller類,UIButton、UILable

2 控制器(contoller)控制視圖顯示的對象叫控制器,通常叫視圖控制器。

* 所有的視圖控制器都是直接或間接繼承自UIViewController類

* 創建自己的控制器,定義一個類,繼承自UIViewController

步驟:

*1 創建一個控制器MXViewController在MXViewController.m文件中重寫viewDidLoad

- (void)viewDidLoad

{

    //創建控件

    UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 100, 40)];

    //設置屬性

    label.text = @"hello Word!!!";

    //加入父視圖中

    [self.view addSubview:label];

   

}

*2 在MXAppDelegate.m文件中寫application:函數具體如下:

#import "MXViewController.h"

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    //創建類控件

    MXViewController* myController = [[MXViewController alloc] init];

    //修改window中rootViewController屬性

    self.window.rootViewController = myController;

    [self.window makeKeyAndVisible];

    return YES;

}

 

*3 button

- (void)viewDidLoad

{

    //一定要調用父類的viewDidLoad

    [super viewDidLoad];

   

    //創建控件

    UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 100, 40)];

    UIButton* button = [UIButton buttonWithType:UIButtonTypeSystem];

    //設置屬性

    label.text = @"hello world!!!";

    [button setTitle:@"hello" forState:UIControlStateNormal];

    button.frame = CGRectMake(160, 20, 80, 30);//frame設置坐標和寬高

    //button.backgroundColor = [UIColor grayColor];

    //給button添加事件處理 self對象 tap是self對象方法 for...點擊各種情況

    [button addTarget:self action:@selector(tap) forControlEvents:UIControlEventTouchUpInside];

    //加入父視圖中

    [self.view addSubview:label];

    [self.view addSubview:button];

   

            // Do any additional setup after loading the view.

}

-(void)tap{

    NSLog(@"調用了tap方法");

}

回到頂部

二、interface Builder

1 簡稱IB,專門用于讓開發者構造界面的,是一個可視化的所見即所得的界面設計工具,從xcode4就集成到了xcode中

2 其本質是一個文本編輯器,設計結果是一個文本文件,以前此文件的擴展名是.nib,所以也叫nib文件,現在這個文本文件擴展名是.xib,

nib文件:button={"0k",{12,12}};

xib是xml文件

nib文件的內容,界面上所有的對象及屬性,還要對象與對象之間的關系。

3 如何使用,程序運行時,如果你的控制器,創建時加載了此nib文件,那么文件中描述的所有對象會被創建,所有屬性會被賦值,對象之間的關系會自動維護

4 如何加載,所有的控制器都會有一個方法:initWithNibName:"nib文件的文件名"

5 給xib文件中button控件綁定一個方法,選擇button控件,按住Ctrl拖拽至方法處,該方法的返回值必須是IBAction(本質void),只是一個連接的一個標記

6 IBAction

* .m文件中定義一個私有方法,將來做事情的響應。

* 從xib文件中連接按鈕到方法上(用Ctrl鍵拖拽連接)

* 取消連接,從xib文件中找到按鈕,第6個檢查器中找到連接,將其刪除

7 IBOutlet

* 在.m文件的擴展中定義屬性,屬性一定有IBOutlet標記

* 從xib文件中連接屬性(連線)

* 如果屬性是retain(strong)并使用了MRC,需要在dealloc方法中release此屬性

8 IBOutlet 和 IBAction

IBOutlet連接的是屬性,如果需要在程序代碼中(controller中),訪問這個xib文件中定義的對象時(如lable)就需要連接一個屬性到xib

IBAction連接的是方法,如果需要用戶操作了xib文件中定義的控件(如按鈕),需要調用方法,那么方法就需要用IBAction連線

IBAction方法一般是由用戶觸發的

練習:界面上有一個按鈕,當用戶touch了此按鈕時,界面上就出現了一個lable,

作業:

     0. 復習課堂代碼

     1. 嘗試使用Button的各種事件

     2. 嘗試使用UILabel和UIButton的其他屬性

         如:font  (字體)

                   textColor  

                   backgroundColor

                   tintColor

     3. 寫一個模仿聊天的界面

         界面上有一個按鈕,按下此按鈕后,界面會出現一個Label

         要求:

              1)每個Label之間上下間隔10個點,并且和屏幕左右保持10個點的距離

              2) label高20個點

              3) 每個label的文字會疊加

              4) 每個label的背景色是灰色的

              5) 嘗試改變字體(UIFont)

         屏幕寬度是320個點

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灌阳县| 麻阳| 井陉县| 蕉岭县| 吉木乃县| 乌拉特后旗| 鄂州市| 全州县| 池州市| 翁牛特旗| 扎鲁特旗| 什邡市| 开封县| 河曲县| 台南市| 同仁县| 平度市| 聂拉木县| 高唐县| 疏勒县| 肃南| 洮南市| 赫章县| 股票| 馆陶县| 兴城市| 无极县| 西峡县| 商城县| 定州市| 梁平县| 灯塔市| 开封县| 陆良县| 民和| 淄博市| 集安市| 酒泉市| 吉木萨尔县| 莆田市| 湟中县|