StoryBoard簡單使用ios
故事版(storyboard)是一種簡潔的圖形界面,程序員能夠採起拖的形式搭建一個界面,如今使用的xcode默認都會建立一個main.storyboard,做爲app的入口。程序員
一、修改rootVC,默認的rootVC是系統幫咱們建立的ViewController,咱們能夠經過eidtor—embed in來修改rootVC:xcode
二、拖拽控件,並設置出口app
控件分爲不少種,一是隻顯示的,咱們能夠從右下角菜單直接拖到故事版,而後在右側菜單設置一些屬性便可ide
二是拖到界面後,咱們須要在代碼中對其進行修改,那麼我麼就須要設置其出口:首先點擊右上角,將xcode一分爲二,而後右側文件改成此storyboard對應的.h文件:
而後在左側故事板中選中控件,按住control,同時用鼠標點中控件,不要鬆開,往右側的.h文件中拖,會出現一個藍線,記住,藍線終點位置要在@@interface下,@end上:鬆開手指和鼠標,會彈出一個視圖
connection表明出口,name則是控件名稱。code
若是是button之類的控件,重複上面的操做,在彈出框中修改connection爲action:orm
,name表示要生成的方法名對象
三、 添加一個故事版,在實際應用過程當中,咱們會須要不止一個界面,咱們須要添加新的,那麼咱們只須要在main.storyboard的窗口中拖進去一個View controller便可:it
,視圖上方有三個選項,第一個表明要綁定的Viewcontroller文件:io
四、 界面跳轉(segue),頁面跳轉有兩種方式,第一種就是經過控件直接拖拽,選中控件,按住control+鼠標左鍵,拖進要跳轉到的界面,鬆開會彈出跳轉方式,選擇一種便可
第二種是利用ViewController與ViewController之間,拖拽添加segue,並給segue添加identifier。這種方法就須要在相應須要跳轉的方法內寫入代碼,手動去設置它的跳轉。
- (IBAction)buttonClicked:(id)sender {
[self performSegueWithIdentifier:@"vc2" sender:self];
}
跳轉的方式咱們能夠自行設置:
五、界面傳值,A跳轉到B,而且須要傳值,那麼咱們須要在A中添加一個方法prepareForSegue:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
ViewController1 *vc = segue.destinationViewController;//獲取segue對應的VC
vc.str = @"345";
//KVC
// if ([vc respondsToSelector:@selector(setStr:)]) {
// [vc setValue:@"123" forKey:@"str"];
// }
}
六、 建立獨立的SB
選擇new file,選擇ios-àuser interface-àStoryboard-ànext,取個名字便可
而後選中建立好的.storyboard文件,拖進去一個Viewcontroller
而後選中其上方三個視圖的第一個,設置其對應的class
七、 要使用上步建立的故事版,須要先根據故事板名字拿到其對象:
UIStoryboard *story = [UIStoryboard storyboardWithName:@"Storyboard3"//故事板名字不要後綴 bundle:[NSBundle mainBundle]];
而後經過故事版生成vc對象(須要使用故事版的identifier)
ViewController3 *vc = [story instantiateViewControllerWithIdentifier:@"controller3"];