[IOSB]StoryBoard简单使用
来源:互联网 发布:软件测试佩腾 编辑:程序博客网 时间:2024/06/07 20:34
[IOSB]StoryBoard简单使用
Demo地址:http://download.csdn.net/detail/u012881779/9146651
环境:Xcode7.0
只介绍了简单的页面搭建,包括自定义导航栏、页面跳转、页面间传递数据
/*页面跳转*/
1.新建一个项目,删掉StoryBoard中默认View Controller,拖选Navigation Controller并设置为“起始场景”同时隐藏导航栏和工具栏。
2.拖选一个View Controller自定义导航栏, 再从Navigation Controller拖一条Segue至View Controller并设置Relationship Segue为root view controller。
创建控制器RootViewController,不用选择xib
对StoryBoard中场景关联控制器:
3.再次拖选一个View Controller,并从导航栏Button拖选Segue至View Controller并设置Action Segue为modal。
设置页面跳转方式
4.再次拖选一个View Controller,并从导航栏Button拖选Segue至View Controller并设置Action Segue为push。
5.返回上一个页面。
不能再从View Controller拖Segue回Navigation Controller不然无法释放内存,在返回Button关联的点击事件添加方法:
- (IBAction)returnAction:(id)sender { [self.navigationController popViewControllerAnimated:YES];}
/*页面间数据传递*/
创建代理:
#import <Foundation/Foundation.h>@protocol PassValueProtocol <NSObject>@required- (void)passValueAction:(id)sender;@end
父类里设置代理:
#import <UIKit/UIKit.h>#import "BaseViewController.h"#import "PassValueProtocol.h"@interface BaseViewController : UIViewController@property (strong, nonatomic) id <PassValueProtocol> delegate;@end根控制器中设置:
//往后传值-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ NSString *inputText = _fieldText.text; BaseViewController *sendVC = segue.destinationViewController; if ([sendVC respondsToSelector:@selector(setData:)]) { //保持跳转页面中申明的字段和这里的@“data”一样 [sendVC setValue:inputText forKey:@"data"]; //数据传回这里使用代理 sendVC.delegate = self; }}#pragma mark PassValueProtocol//传回数据- (void)passValueAction:(id)sender{ NSString *tempStr = (NSString *)sender; _fieldText.text = tempStr;}待移除控制器中设置:
#import "OneViewController.h"@interface OneViewController ()@property (weak, nonatomic) IBOutlet UITextField *oneTextField;@property (strong, nonatomic) NSString *data;@end@implementation OneViewController- (void)viewDidLoad { [super viewDidLoad]; _oneTextField.text = self.data;}//返回- (IBAction)returnAction:(id)sender { [self.delegate passValueAction:self.oneTextField.text]; [self dismissViewControllerAnimated:YES completion:nil];}@end
StoryBroad示意图:
0 0
- [IOSB]StoryBoard简单使用
- [IOSB]StoryBoard自定义侧边栏
- Storyboard的简单使用
- Storyboard的简单使用
- Storyboard 的简单使用
- Storyboard 的简单使用
- Storyboard的简单使用
- Storyboard的简单使用
- Storyboard的简单使用
- Storyboard的简单使用
- Storyboard的简单使用
- 简单使用storyboard
- storyboard简单使用
- Storyboard的简单使用
- Storyboard的简单使用
- storyboard的简单使用
- iOS开发18:Storyboard的简单使用
- iOS开发19:Storyboard的简单使用
- Mysql存储emoji表情
- lua的编译、运行
- 'tools.jar' seems to be not in Android Studio classpath----Android Studio启动时问题
- 【Android开源项目分析】android轻量级开源缓存框架——ASimpleCache(ACache)源码分析
- 32位与64位下各类型长度对比
- [IOSB]StoryBoard简单使用
- 欢迎使用CSDN-markdown编辑器
- java基础之Integer和Long对象相等比较 .
- 构造函数析构函数为什么没有返回值?
- 内存泄漏-Delete不调用析构函数的两种情况
- solr的schema配置优化
- Web前端持续集成方案(三)
- iOS 9适配技巧(更新版)
- python打开自已配置的firefox