2014-02-21 75 views
0

編程方式添加一個按鈕與外部類:添加按鈕編程

文件頭:

-(UIView*) makeButtonNotification; 

文件的方法:

-(UIView*) makeButtonNotification{ 

UIImage * buttonImage = [UIImage imageNamed:@"chat-notify.png"]; 

button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button addTarget:self 
      action:@selector(goChat) 
forControlEvents:UIControlEventTouchUpInside]; 
button.frame = CGRectMake(280.0, 25.0, 30.0, 30.0); 
[button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

return button; 

}

此按鈕呼叫goChat方法

- (void)goChat{ 

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
chat = (chatViewController *)[storyboard instantiateViewControllerWithIdentifier:@"chatViewController"]; 
chat.view.layer.zPosition = 10; 


[[[[UIApplication sharedApplication] delegate] window] setRootViewController:chat]; 

}

我添加的看法與此代碼:

[[[[UIApplication sharedApplication] delegate] window] setRootViewController:chat]; 

因爲otherways我有層次

誰的觀點是不是在窗口層次的問題!

我所說的方法是這樣的:

notificationViewController* notification = [[notificationViewController alloc]init]; 
[self.view addSubview:[notification makeButtonNotification]]; 

現在的觀點出現,這是沒問題的。

但是當出現我有一個按鈕使故事板打開左側面板菜單,並沒有工作。

還有一些其他解決方案?

謝謝。

回答

0

您的makeButtonNotification正在創建並返回一個UIButton,但您的返回類型設置爲UIView?另外,你有一個按鈕的類屬性?由於您不是在該方法中創建本地實例?

你打電話給這個goChat的方法,我認爲它不在appDelegate之外?

您將按鈕幀的原點設置爲280,您確定這是在self.view的範圍內嗎?你將它添加到什麼視圖?