首页
学习
活动
专区
圈层
工具
发布

在 iPhone 上使用 Popover Segue

Popover 一般是用在 iPad 上,在 iPhone 上不能直接使用。因为早些时候 iPhone 的尺寸都不大,苹果是非常不推荐在 iPhone 上使用 Popover 这种风格弹出新页面的。...Storyboard 上的那个 UITableViewController 就会显示 150 * 200 的大小了,你可以用 Simulated Size 直接在 Storyboard 上调试尺寸,调试完了之后把最合适的尺寸填到...接下来就是拉一个 Segue 了,我这边是从 HomeViewController 上的“地块”按钮拉到 LandStatusViewController,Segue 的类型选择 Present as...DragSegue.png 然后最好填一下 Segue Id,便于在代码中区分多个不同的 Segue: ?...PopoverSegueMenu.png 最后就是稍微写几行代码了,在 HomeViewController 中: override func prepareForSegue(segue: UIStoryboardSegue

1.4K50

iOS 9 Storyboard 教程(二上)介绍Segue静态单元格(static cell)

view controller.在另一方面,segue所做的改变都在控制器上.通过点击button,tableViewCell,手势等等来触发segue....(Note:如果你的控件已经实现了IBAction连接,那么segue会重写它). 运行app,然后点击’+’号按钮.一个新的tableView就会从下往上滑出....现在你可以创建最终的unwind segue了.在PlayersViewController.swift(而不是detail控制器)类末尾添加unwind 方法: @IBAction func cancelToPlayersViewController...(segue:UIStoryboardSegue) {} @IBAction func savePlayerDetail(segue:UIStoryboardSegue) {} cancelToPlayersViewController...的时候,在整个app中,这个列表都将显示所有的unwind方法(即一个带有签名的方法@IBAction func methodname(segue:UIStoryboardSegue)),所以确保你能认出你创建的名字代表的意思

4.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    添加跳转按钮 - (IBAction)jumpToAppB:(id)sender { // 1.获取应用程序App-B的URL Scheme NSURL *appBUrl = [...如果是iOS9之后的模拟器或是真机,那么则需要再在应用程序App-A中将App-B的URL Schemes添加到白名单中,原因和做法如下。 iOS9引入了白名单的概念。...添加LSApplicationQueriesSchemes数组,然后添加键值为AppB的字符串 添加白名单之后在相同的模拟器中先后运行App-B、App-A,点击按钮,就可以实现跳转了。...在主控制器中我们可以通过- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;方法获取将要跳转的页面控制器。...- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString

    1.9K30

    【swift学习笔记】一.页面转跳的条件判断和传值

    一:页面转跳 1.第一个页面的上放上一个Label一个textfield和一个按钮 2.在第二个窗体上放两个label和一个按钮,并指定一个ViewController 3.创建Segue连接两个窗体,...打开模式选择modal,并给Segue命名为"openView" 3.页面1 中创建输入文本框的引用和按钮的点击Action 在Action里判断文本是否有数据,如果没有则弹出提示,如果有则打开新窗体...@IBAction func passNameToView(sender: AnyObject) { guard let text = teName.text where !...(true, completion: nil) } 二.页面传值 1.在页面2中声明一个字符串变量用于接收传过来的信息和一个lable的引用,在加载完窗体后显示在label中 @IBOutlet...{ if segue.identifier == "openView" { if let secondView = segue.destinationViewController

    1.6K70

    iOS 9 Storyboard 教程(二下)

    你永远不会手动调用prepareForSegue(_:sender:)方法.它是一条从UIKit发出的信息,让你知道那个segue已经被触发了. ---- 在PlayerDetailsViewController.swift...跳到PlayersViewController,改变这个unwind segue方法savePlayerDetail(segue:)为下面这样: @IBAction func savePlayerDetail...TableViewController在它们之前创建一个segue连线.在出现的弹窗中选择Selection Segue底下的Show segue,而不是Accessory Action....这个方法在点击之后就会取消选中.那使得它从灰色高亮褪色为正常的白色.然后它就会从先前选中的单元格移除对号标记,然后把对号放到刚刚点击的那一行上....依然在PlayerDetailsViewController.swift里,添加unwind segue 方法: @IBAction func unwindWithSelectedGame(segue:

    3.4K10

    iOS中storyboard故事板使用Segue跳转界面、传值

    在Page2的视图控制器中,把按钮关联到Page2ViewController中去,然后编辑按钮的响应方法: - (IBAction)toPage1:(id)sender { [self dismissViewControllerAnimated...使用Segue在界面间传值: 我们在两个视图中都添加了TextField编辑输入框,这样我们可以在Page1的页面中输入数据来传递到Page2显示,同样的可以在Page2中输入数据回到Page1显示。...PS:上面曾经说到过Segue的属性里有一个Identifier,就是在这个方法中用来判断是哪个Segue在起作用,如: if ([[segue identifier] isEqualToString:...@"Page2ViewController"]) {// string值为在Segue属性Identifier处设置的值 // 相应处理 } 现在,运行工程,在第一个界面输入值后,点击跳转到第二个界面...添加代码: - (IBAction)toPage1:(id)sender { [self dismissViewControllerAnimated:YES completion:^{}];

    2.2K21

    Xcode:处理故事板的更好方式 享受Interface Builder的提示和技巧

    另一方面,许多开发人员在构建具有复杂导航功能的大型多屏幕应用程序时仍然会遇到一些界面问题。 在本文中,我将在您处理项目中的故事板和笔尖时分享一些好的做法。...但即使您在单个Storyboard中有多个viewControllers,使用segues在viewControllers之间导航也许不是一个好主意: 你需要为每个segue命名,仅此一个就容易出错。...Unwind segue?从没听说过。 有时导航流程应该将用户带回到前一个屏幕。 这是另一个常见的错误:使用新的segue导航回以前的viewController。...Exit outlet in Storyboard Unwind segue允许您指定返回上一屏幕的目的地。...在代码中执行它更简单:不是为按钮创建“展开”动作,而是创建常规IBAction并使用dismissViewController或popViewController(取决于您的导航结构): @IBAction

    2.1K30

    在触发思考

    因为使表中数据发生变化的操作有插入、更新和删除,所以触发器能够分为三类:INSERT触发器、UPDATE触发器和DELETE触发器。...触发器能够检查inserted表,确定是否运行触发器动作和怎样运行触发器动作。 2.DELETE触发器 当试图从表中删除信息时,DELETE触发器被触发。...这时我们要完毕两个任务:插入t_good_out后更新t_good_store,为避免仅仅操作当中一个而造成数据的不一致,我们能够用触发器,在t_good_out的插入操作上绑定一个对t_good_store...触发器仅仅有在改动(包含插入和删除)时触发,目的是给我们一个做其它动作的机会,它没有在查询数据时做其它动作的能力.问了触发器是否有參数这个问题,说明我刚開始没有理解触发器的这个特性....关于同一时候插入两个记录,有人说能够,由于insert是在毫秒级,可是无论什么级都是有先有后啊.又说,insert是rowlevel锁,假设不Lock table的话,也无法确定先后啊. 3.

    86410

    iOS对UIViewController生命周期和属性方法的解析

    ,而重点是从代码加载的则只会在开始调用一次,之后都不会,所以注意,在layoutSubviews中写相关的布局代码十分危险。...segue在StoryBoard中除了用来自动正向跳转外,我们还可以进行反向的跳转,类似pop和dismiss方法,这种segue被称为unwind sugue。...例如,我们有一个controller1和一个controllert2,要使用unwind segue从2返回1,我们需要在2中实现如下格式的方法: - (IBAction)unwindSegueToViewController...:(UIStoryboardSegue *)segue {     NSLog(@"unwindSegueToViewController"); } 这个方法中的返回值必须为IBAction,参数必须是...在触发跳转的方法中,使用如下方法进行跳转,这里面的参数id就是我们取得segue的id: - (void)performSegueWithIdentifier:(NSString *)identifier

    3.5K20

    ios开发-Storyboard在多个viewcontroller之间导航的实现

    IOS SDK6/Xcode4.5开始在Storyboad中新增很多功能对可视化的开发页面布局,导航更加方便,下面就写一下各种导航的实现。...只需要选择默认的viewcontroller ,在菜单上选择editor-embed in- ?...2、下面实现导航最简单的就是next,back,只需要按住ctr直接拖线就好了,这里有一个Storyboard Segue-Identifier这个值最好填上,可以在代码里面用到 ?...这个Identifier的值可以一般在两个地方会用 1页面切换是方便传值,代码如何 ?...只要你在每个viewcontroller中重写了-(ibaction)name:(uistoryboardsegue *)segue,那么当你直接拖线指向Exit图标的时候就会出现你所有实现的方法,当你选择哪个方法就返回到实现这个方法的

    2.1K50

    【iOS 开发】Controller 之间使用代理传值

    Controller 传值 控制器之间经常需要互相传递值,第一个控制器(简称 MasterVC)在通过 NavigationController Push 第二个控制器(简称 DetailVC)的时候,...MasterVC 的 Title,却不能用同样的方式传值(试一下就知道了),而且因为我们要通过 NavigationController 返回原来的界面而不是 push 一个新的界面,所以也不能通过 segue...MasterVC.text = "xxx" } } 这样虽然行得通,但是代码丑陋:类似 viewWillAppear 这样的方法,让人难以读懂,为什么这样的事情要在这个地方做,没有明显的道理;在...override func viewDidLoad() { super.viewDidLoad() } // MARK: - Pass Data @IBAction...override func viewDidLoad() { super.viewDidLoad() } // MARK: - Pass Data @IBAction

    1.3K20
    领券