UIViewController

//創建vc

? ?RootViewController *rootVC = [[RootViewController alloc]init];

? ?//根視圖

? ?self.window.rootViewController = rootVC;

#pragma mark - 初始化

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

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

? ? ? ?if (self) {

? ? ? ? ? ?NSLog(@"初始化");

? ? ? ?}

? ? ? ?return self;

? ?}

#pragma mark - 加載視圖

? ?-(void)loadView{

? ? ? ?//重寫時 一定要寫super

? ? ? ?//loadView方法 負責創建self.view

? ? ? ?[super loadView];

? ? ? ?NSLog(@"加載視圖");

? ?}

#pragma mark - 視圖已經加載

? ?- (void)viewDidLoad {

? ? ? ?[super viewDidLoad];

? ? ? ?NSLog(@"視圖已經加載");

? ? ? ?// Do any additional setup after loading the view.

? ? ? ?self.view.backgroundColor = [UIColor lightGrayColor];

//UI導航控制器

? ? ? ?//創建VC

? ? ? ?ViewController *root = [[ViewController alloc] init];

? ? ? ?//導航控制器: 管理控制器的控制器

? ? ? ?//創建導航

? ? ? ?UINavigationController *navi = [[UINavigationController alloc]initWithRootViewController:root];

? ? ? ?//把導航設置為根視圖

? ? ? ?self.window.rootViewController = navi;

? ? ? ?//導航欄設置:controller(欄)/item(欄上的元素)

? ? ? ?//導航欄顯示/隱藏

? ? ? ?self.navigationController.navigationBarHidden = NO/YES;

? ? ? ?//欄樣式

? ? ? ?self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

? ? ? ?//半透明效果

? ? ? ?//開啟效果時 屏幕左上角為坐標原點

? ? ? ?//關閉時 導航欄的左下角為坐標原點

? ? ? ?self.navigationController.navigationBar.translucent = YES;

? ? ? ?//欄背景顏色

? ? ? ?self.navigationController.navigationBar.backgroundColor = [UIColor yellowColor];

? ? ? ?//欄顏色

? ? ? ?self.navigationController.navigationBar.barTintColor = [UIColor blackColor];

? ? ? ?//欄標題

? ? ? ?// ? ?self.title = @"這是一個標題 ";

? ? ? ?self.navigationItem.title = @"Back";

? ? ? ?//分段

? ? ? ?UISegmentedControl *seg = [[[UISegmentedControl alloc]initWithItems:@[@"消息",@"電話"]] autorelease];

? ? ? ?seg.frame = CGRectMake(0, 0, 100, 30);

? ? ? ?//欄標題視圖

? ? ? ?self.navigationItem.titleView = seg;

? ? ? ?//欄左側按鈕

? ? ? ?self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(left:)] autorelease];

? ? ? ?//欄右按鈕

? ? ? ?//系統按鈕樣式

? ? ? ?UIBarButtonItem *b1 = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(right1)] autorelease];

? ? ? ?//自定義按鈕圖片

? ? ? ?UIBarButtonItem *b2 = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gift.png"] style:UIBarButtonItemStylePlain target:self action:@selector(right2)] autorelease];

? ? ? ?self.navigationItem.rightBarButtonItems = @[b1,b2];

? ? ? ?//修改導航欄上內容的顏色

? ? ? ?self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

? ?//跳轉頁面

? ? ? ?UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

? ? ? ?btn.frame = CGRectMake(200, 200, 100, 100);

? ? ? ?btn.backgroundColor = [UIColor yellowColor];

? ? ? ?[self.view addSubview:btn];

? ? ? ?[btn addTarget:self action:@selector(goTwo) forControlEvents:UIControlEventTouchUpInside];

#pragma mark - 跳轉頁面

? ? ? ?-(void)goTwo{

? ? ? ? ? ?//1.獲取第二頁面對象

? ? ? ? ? ?TwoViewController *twoVC = [[TwoViewController alloc] init];

? ? ? ? ? ?//2.跳轉(由導航控制器 從當前push到第二頁)

? ? ? ? ? ?[self.navigationController pushViewController:twoVC animated:YES];

? ? ? ? ? ?//3.內存管理

? ? ? ? ? ?[twoVC release];

? ? ? ?}

//UI頁面間傳值

#warning 屬性1: 在第二頁聲明一個屬性 用來保存數據

? ? ? ?@property(nonatomic,copy)NSString *string;

#warning 屬性2: 在push頁面之前傳值(創建對象之后 push之前)

? ? ? ?twoVC.string = self.tf1.text;

#warning 屬性3: 通過屬性給當前頁內容賦值

? ? ? ?self.tf2.text = self.string;

#warning 協議1: 聲明協議(定義一個帶參數的方法)

? ? ? ?@protocol PassDelegate

#warning 協議2: 定義代理人屬性

@property(nonatomic,assign)iddelegate;

#warning 協議3: 返回上一頁之前 讓代理人調用協議方法

[self.delegate passValue:self.tf2.text];

[self.navigationController popViewControllerAnimated:YES];

#warning 協議4: 簽協議

@interface RootViewController ()

#warning 協議5: 設置代理人

//為了保證設置代理人的對象和push的對象是一個 在創建push對象之前 設置delegate.

twoVC.delegate = self;

[self.navigationController pushViewController:twoVC animated:YES];

[twoVC release];

}

#warning 協議6: 實現協議方法

-(void)passValue:(NSString *)string{

//把收到的string 賦值給輸入框

self.tf1.text = string;

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容