当前位置: 首页 > news >正文

手机端网站排名网站建设08keji

手机端网站排名,网站建设08keji,网络推广文案案例,页面设计布局2019独角兽企业重金招聘Python工程师标准 Storyboard是iOS5的新特性。使用Storyboard可以更方便的管理应用的界面#xff0c;同时为视图间的跳转提供了清晰的脉络。 任何时候你都可以在你的项目中添加Storyboard#xff0c;不管你创建项目的时候有没有勾选“U… 2019独角兽企业重金招聘Python工程师标准 Storyboard是iOS5的新特性。使用Storyboard可以更方便的管理应用的界面同时为视图间的跳转提供了清晰的脉络。 任何时候你都可以在你的项目中添加Storyboard不管你创建项目的时候有没有勾选“Usb Storyboard”选项如下图所示。 如果你创建的时候勾选了该选项那么恭喜你你已经有了一个Storyboard并且被设为了Main Storyboard如下图所示。 同时你的代理类是这样的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; } 这跟以前可大不一样了这是因为程序会自动加载Main Storyboard。如果你把上面的Main Storyboard项清空了那我们的MainStoryboard.storyboard就是一个孤立的文件了你必须手动加载它所以上面的代码也 得改一改如下 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UIStoryboard *storyboard [UIStoryboard storyboardWithName:MainStoryboard bundle:nil]; self.window.rootViewController [storyboard instantiateInitialViewController]; [self.window makeKeyAndVisible]; return YES; } 上面加粗的两句比较重要前一句是从文件创建UIStoryboard实例对象后一句则是从这个对象里获取“初始视图控制器”一个 storyboard里只可以设置一个初始视图控制器相当于这个storyboard的入口后面还会说到。 但如果你创建项目的时候没有勾选“Use Storyboard”项那你就要手动添加Storyboard了如下图所示。 手动创建的Storyboard和自动创建的没有任何不同打开我们刚刚创建的Storyboard里面什么都没有我们不妨拖拽一个Navigation Controller到里面。 可以看到我们一次拖出了两个视图控制器这是因为Navigation Controller需要一个rootViewController。注意我标注的两个小箭头左边的代表这是一个“初始视图控制器”右边的代表两个视 图控制器之间的关系。选中视图控制器可查看属性。 取消勾选“Is Initial View Controller”后指向视图控制器的箭头也就消失了。再次说一下一个Storyboard里只能有一个“初始视图控制器”。 下面要做的是在根控制器中添加一个button然后继续拖拽一个ViewController点击button新ViewController push进来。 首先添加button就跟使用IB一样。这次我们拖拽一个UITabbarController这时如下图所示。 接下来有两种方法 第一种我们可以直接在Storyboard中完成按住ctrl从button连接到TabbarController松开并选择push这样我们就创建了一个segueUISotryboardSegue。 保存并运行 我们没有写任何代码就已经完成了一个简单的框架。 下面是第二种方法我们准备用代码来实现。(记得把上一步中push类型的segue删除。)首先创建类 FirstViewControllerSubclass of UIViewController,然后将RootViewController的底层类改为FirstViewController如下图。 继续选中TabbarController并设置Identifier为“second”。 在FirstViewController.m中添加下面的方法并连接到button。 - (IBAction)pressed { UIStoryboard *board[UIStoryboard storyboardWithName:MainStoryboard bundle:nil]; UITabBarController *nextViewController [board instantiateViewControllerWithIdentifier:second]; [self.navigationController pushViewController:nextViewController animated:YES]; } 加粗的代码展示了如何使用Identifier从Storyboard中获取指定的视图控制器。保存并运行效果和前一种方法完全相同。 下面我们将完成另一个目标手动触发一个segue。Storyboard里无法创建一个通过touch来触发的segue。 拖拽一个UIViewController按住ctrl从TabbarController的第一个分支连接到新的viewController同样选择push。 选择刚刚创建的segue并设置Identifier为“touch to push”然后设置新viewController的Identifier为“third”。Identifier只是一个名称没有实际意义可以随便设置。 添加新类SecondViewControllerSubclass of UIViewController选中第一个分支并设置其底层类为SecondViewController。然后添加如下方法。 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self performSegueWithIdentifier:touch to push sender:nil]; } 明白这个方法后就可以用任何类型的事件去触发我们在Storyboard中创建的segue了。 继续下一个目标在segue被触发的时候传递参数到目标视图控制器。 删除TabbarController的第二个分支拖拽一个UITableViewController按住ctrl从 TabbarController连接到UITableViewController松开并选择relationship。选中cell设置 Identifier为“cell”。然后再拖拽一个UIViewController并添加一个UILabel。作如下操作。 添加类ThirdViewControllerSubclass of UITableViewController和类FourthViewControllerSubclass of UIViewController分别设置为最后两个视图控制器的底层类。 ThirdViewController.m - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 20; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *identifier ”cell“; UITableViewCell *cell [tableView dequeueReusableCellWithIdentifier:identifier]; if (cell nil) { cell [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; } cell.textLabel.text [NSString stringWithFormat:%d,indexPath.row]; return cell; } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { //这里我很谨慎的对sender和目标视图控制器作了判断 if ([sender isKindOfClass:[UITableViewCell class]]) { if ([segue.destinationViewController isKindOfClass:[FourthViewController class]]) { NSIndexPath *indexPath [self.tableView indexPathForCell:sender]; FifthViewController *nextViewController segue.destinationViewController; nextViewController.string [NSString stringWithFormat:%d,indexPath.row]; } } } FourViewController.h interface FifthViewController : UIViewController { IBOutlet UILabel *label; } property (nonatomic,strong) NSString *string; FourthViewController.m synthesize string; - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; label.text self.string; } segue包含属性sourceViewController和destinationViewController。segue在触发后但还未执行的时候会调用sourceViewController的prepareForSegue:sender:方法sender是segue的起始点可以是button、cell等等。这是你传递参数最好的时机你可以利用sender参数来找到是哪个cell被点击利用segue参数来获取源视图控制器对象和目标视图控制器对象这样你就有足够的信息来传递参数了。 保存并运行 转载于:https://my.oschina.net/u/874588/blog/98295
http://www.zqtcl.cn/news/662136/

相关文章:

  • 个人网站空间大小江油官方网站建设
  • 怎样建网站做什么网站能吸引流量
  • 做vi设计的网站网络营销推广思路
  • 简述网站设计流程沁水做网站
  • 南京公司网站建设怎么收费获奖网页设计
  • 网站域名试用期水墨风格网站源码
  • 长沙网站开长沙手机网站建设哪些内容
  • 网站建设算固定资产吗做泵阀生意到哪个网站
  • 佛山网站建设定制杭州人防质监站网址
  • 什么网站可以做微官网定制小程序制作一个需要多少钱
  • 扒下来的网站怎么做修改什么样是权网站重高的
  • 淘宝客做网站链接潍坊网站建设wfzhy
  • 怎样做二维码链接到网站上做的比较好的美食网站有哪些
  • 自动化科技产品网站建设响应式博客wordpress
  • 个人建站如何赚钱男人的好看网
  • 门户网站建设管理工作作一手房用什么做网站
  • 网站建设优化服务案例三合一网站程序
  • 网站长尾词关于制作网站的方案
  • 做二手衣服的网站有哪些wordpress单本小说采集
  • 曲靖市建设局网站品牌营销咨询公司是做什么的
  • wordpress网站统计代码放哪个文件putty搭建wordpress
  • 桦南县建设局网站天坛装修公司口碑怎么样
  • 网站的建设求职简历网站开发与维护价格
  • 网站空间备份站长网站优点
  • 房产网站做那个比较好网页设计属于前端吗
  • 衡水企业网站建设费用html5网页设计教程
  • 用wp系统做网站网站有收录没排名
  • 网站源码程序下载ios开发软件
  • 设计好的网站什么是企业网站策划案
  • 北京网站建设亿玛酷适合5传奇网站装备动态图怎么做