UI總結(jié)-UIViewController

? ? ? ? ? ? ? ? ? ? ? ? ? ?UI總結(jié)-UIViewController

在AppDelegate.m文件中:

#import "AppDelegate.h"

#import "RootViewController.h"

#import "AppDelegate.h"

#import "RootViewController.h"

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

// Override point for customization after application launch.

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

[self.window makeKeyAndVisible];

[_window release];

//就iOS開發(fā)來說,UIViewController就最核心的類型之一游昼。而iOS的整個(gè)UI開發(fā)的核心思想也是MVC的架構(gòu)免绿,從UIViewController的命名就可以看出它在MVC中所扮演的角色同蜻,那就是Controller啦终吼。

//創(chuàng)建一個(gè)視圖控制器

RootViewController *vc = [[RootViewController alloc]init];

//給window指定一個(gè)根試圖控制器

self.window.rootViewController = vc;

[vc release];

return YES;

}

在RootViewController.m文件中:

#import "RootViewController.h"

#import "CWCView.h"

@interface RootViewController ()

@end

@implementation RootViewController

// ViewController 的初始化方法

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

if (self) {

//這個(gè)方法即使不調(diào)用,在使用的過程中,系統(tǒng)也會自己調(diào)用這個(gè)方法

//一般在這個(gè)方法里面寫容器的初始化,比如數(shù)組,字典等.

NSLog(@"我被使用了");

}

return self;

}

-(void)loadView{

//當(dāng)view需要被展示而它卻是nil時(shí)输虱,viewController會調(diào)用該方法摘能,如果代碼構(gòu)建View的話需要重寫此方法站刑。

[super loadView];

}

//執(zhí)行完loadView后繼續(xù)執(zhí)行viewDidLoad瘸彤,loadView時(shí)還沒有view,而viewDidLoad時(shí)view已經(jīng)創(chuàng)建好了笛钝。

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view.

self.view.backgroundColor = [UIColor whiteColor];

[self creatView];

NSLog(@"試圖加載完成");

}

-(void)creatView{

UIButton *button1 =[UIButton buttonWithType:UIButtonTypeCustom];

button1 .frame = CGRectMake(100, 100, 100, 100);

button1.backgroundColor = [UIColor blueColor];

[button1 setTitle:@"確定" forState:UIControlStateNormal];

button1.layer.borderWidth = 1;

button1.layer.cornerRadius = 5;

[self.view addSubview:button1];

[button1 addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

CWCView *myView = [[CWCView alloc]initWithFrame:CGRectMake(0, 50, 100, 100)];

[self.view addSubview:myView];

[myView release];

myView.myLabel.text = @"姓名";

myView.myTextField.placeholder = @"請輸入姓名";

}

-(void)click:(UIButton *)button{

NSLog(@"11111");

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"碉堡了" message:@"是嗎" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:@"退出", nil];

alert.alertViewStyle = 3;

[alert show];

[alert release];

}

//根據(jù)被點(diǎn)擊按鈕的索引處理點(diǎn)擊事件

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

UITextField *text = [alertView textFieldAtIndex:0];

NSLog(@"%@", text.text);

}

寫了一個(gè)繼承UIView的類, .h文件:

#import<UIKit/UIKit.h>

@interface CWCView : UIView

@property(nonatomic, retain)UILabel *myLabel;

@property(nonatomic, retain)UITextField *myTextField;

@end

.m文件:

#import "CWCView.h"

@interface CWCView ()

@end

@implementation CWCView

-(id)initWithFrame:(CGRect)frame{

self = [super initWithFrame:frame];

if (self) {

//在創(chuàng)建view的過程中,完成label和textfield的創(chuàng)建

[self creatView];

}

return self;

}

-(void)creatView{

self.myLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 150, 30)];

self.myLabel.layer.borderWidth = 2;

self.myLabel.layer.cornerRadius = 5;

self.myLabel.textAlignment = 1;

//self本身就是一個(gè)試圖,所以,直接把空間添加到self上即可

[self addSubview:self.myLabel];

[_myLabel release];

self.myTextField = [[UITextField alloc]initWithFrame:CGRectMake(150, 0, 150, 30)];

self.myTextField.layer.borderWidth = 2;

self.myTextField.layer.cornerRadius = 5;

[self addSubview:self.myTextField];

[_myTextField release];

self.myTextField.clearButtonMode = UITextFieldViewModeAlways;

self.myTextField .delegate = self;

}

-(BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];

return YES;

}

-(void)dealloc{

[_myLabel release];

[_myTextField release];

[super dealloc];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末质况,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子玻靡,更是在濱河造成了極大的恐慌结榄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囤捻,死亡現(xiàn)場離奇詭異臼朗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蝎土,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門视哑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人誊涯,你說我怎么就攤上這事挡毅。” “怎么了暴构?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵跪呈,是天一觀的道長。 經(jīng)常有香客問我取逾,道長耗绿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任砾隅,我火速辦了婚禮误阻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己究反,他們只是感情好寻定,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奴紧,像睡著了一般特姐。 火紅的嫁衣襯著肌膚如雪晶丘。 梳的紋絲不亂的頭發(fā)上黍氮,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機(jī)與錄音浅浮,去河邊找鬼沫浆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滚秩,可吹牛的內(nèi)容都是我干的专执。 我是一名探鬼主播,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼郁油,長吁一口氣:“原來是場噩夢啊……” “哼本股!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起桐腌,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤拄显,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后案站,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躬审,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年蟆盐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了承边。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,711評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡石挂,死狀恐怖博助,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情痹愚,我是刑警寧澤翔始,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站里伯,受9級特大地震影響城瞎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疾瓮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一脖镀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦蜒灰、人聲如沸弦蹂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凸椿。三九已至,卻和暖如春翅溺,著一層夾襖步出監(jiān)牢的瞬間脑漫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工咙崎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留优幸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓褪猛,卻偏偏與公主長得像网杆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子伊滋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容