标签: segue

在iOS5中做"条件segue"的正确方法

我正在尝试编写非常简单的iOS5应用程序,只是搜索特定类型的数据.

它包含两个屏幕,用户在第一个屏幕中放置一些数据,应用程序检查数据,如果有效,应用程序将在新屏幕上进行搜索并显示结果.

我对iOS和故事板完全不熟悉,我阅读了不少教程,但还是无法弄清楚如何正确检查输入和切换到新屏幕.

使用iOS5我想我应该使用segue,但这都是自动的.即使我可以在prepareForSegue方法中放入一些代码,但是如果检查失败,我还是找不到如何阻止segue发生的方法,或者我是否尝试完全错误?

xcode4 ios5 segue

17
推荐指数
1
解决办法
8598
查看次数

segue不适用于简单的segue测试

我有一个奇怪的问题.我在我的故事板中创建了2个viewcontrollers:testSegueViewcontrollernextPageViewController.
testSegueViewcontroller包含一个UIButton NextPage.我按住Ctrl键从这个按钮拖动到nextPageViewController并创建了一个Push segue.

问题是,当我运行此程序并单击testSegueViewcontroller中的NextButton时,它不显示nextPageVieController :-(

我做错了什么想法?

xcode storyboard ios segue

17
推荐指数
1
解决办法
1万
查看次数

iOS - 工具栏未显示

使用故事板我为第二个View控制器创建了一个新屏幕,并在底部添加了一个工具栏.但是当显示视图时,工具栏不会出现.我正在使用Segue改变观点.

可能有什么不对?

toolbar storyboard viewcontroller ios segue

17
推荐指数
2
解决办法
2万
查看次数

在iOS 5上使用Segues/Storyboard弹出当前视图

我正在使用iOS 5 SDK创建一个应用程序.我设法使用Storyboard的Segues推送视图,但我找不到弹出当前视图并返回上一个视图的正确方法.

我没有使用任何navigationController(该应用程序没有任何顶部或底部栏).

我不认为使用modal或push segue是另一种方式,因为它实例化一个新的控制器.

我是否必须使用相反动画的自定义Segue并在最后删除视图?或者,还有更好的方法 ?

ios ios5 uistoryboard segue

17
推荐指数
3
解决办法
4万
查看次数

从Swift中的导航后退按钮展开segue

我有一个设置屏幕,因为我有一个表格单元格.通过点击我进入另一个屏幕,用户可以选择一个选项,当按下后退按钮时我想要它回到上一个视图控制器.

图像第一视图控制器图像第二视图控制器

我可以放置一个自定义栏按钮项,但我想使用导航栏中的后退按钮返回到父视图控制器,而不是使用视图上的自定义按钮.

我似乎无法覆盖导航后退按钮将其指向我的展开segue操作,并且由于后退按钮没有出现在故事​​板上,我无法将绿色的"退出"按钮拖到它上面

是否可以使用后退按钮展开推送segue?

iphone ios segue swift

17
推荐指数
2
解决办法
2万
查看次数

Custom Push Segue删除故事板中的导航栏和标签栏

我在自定义Segue中定义了以下内容,让我们称之为SegueX:

@interface SegueX : UIStoryboardSegue
@end

@implementation SegueX

- (void)perform
{
    CATransition* transition = [CATransition animation];

    transition.duration = 0.3;
    transition.type = kCATransitionFade;

    [[self.sourceViewController navigationController].view.layer addAnimation:transition forKey:kCATransition];
    [[self.sourceViewController navigationController] pushViewController:[self destinationViewController] animated:NO];
}

@end
Run Code Online (Sandbox Code Playgroud)

在我的故事板中,我刚刚将标准Push segue更改为SegueX.出于某种原因,这将删除我的导航栏和标签栏.此外,我在自定义segue之后在故事板中定义的所有UIBarButtonItem都在运行时隐藏.我该如何解决?我希望不是这样的......

在更改为自定义segue之前

在更改为自定义segue之前

更改为自定义segue后

更改为自定义segue后

在此输入图像描述

将其保存到Main.storyboard

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="aUj-3O-DdX">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3747"/>
    </dependencies>
    <scenes>
        <!--Navigation Controller-->
        <scene sceneID="prC-ky-DMz">
            <objects>
                <navigationController definesPresentationContext="YES" id="aUj-3O-DdX" sceneMemberID="viewController">
                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="2Uu-Rm-RXH">
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="aOK-Kc-Mfz">
                        <rect …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch ios segue uistoryboardsegue ios7

16
推荐指数
2
解决办法
2万
查看次数

从App Delegate swift执行Segue

我需要从app delegate启动一个视图控制器.

在您在视图控制器之间执行segue的方式.

我有一个if语句,如果true需要显示一个视图控制器,这是在app委托中.

我如何从应用代表执行此操作?

ios segue swift

16
推荐指数
2
解决办法
1万
查看次数

在ViewController和ContainerViewController之间传递数据

我正在开发一个应用程序,需要在view和containerView之间传递数据.我需要从两个视图发送数据和接收数据.

让我解释一下:

我可以通过协议更改Label Master(触摸容器按钮),但我无法更改标签容器(触摸主按钮).发生的事情是Master通过以下方式与容器连接.但是没有跟随Container链接到Master.

我试图添加但是segue,但它有效.

在此输入图像描述

主视图控制器:

import UIKit

protocol MasterToContainer {
    func changeLabel(text:String)
}

class Master: UIViewController, ContainerToMaster {

    @IBOutlet var containerView: UIView!

    var masterToContainer:MasterToContainer?

    @IBOutlet var labelMaster: UILabel!


    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "containerViewSegue" {
            let view = segue.destinationViewController as? Container
            view!.containerToMaster = self
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func button_Container(sender: AnyObject) {
        masterToContainer?.changeLabel("Nice! It's work!")
    }


    func changeLabel(text: String) {
        labelMaster.text = text …
Run Code Online (Sandbox Code Playgroud)

segue uistoryboardsegue swift swift-protocols swift2

16
推荐指数
2
解决办法
2万
查看次数

故事板,UIViewController和UISplitViewController

试图为iPad制作基于故事板的应用程序.在其中我需要从开始屏幕(UIViewController)转换到主屏幕(UISplitViewController)然后转换到全屏视图(再次UIViewController).

我在网上看到了很多讨论(至少有几个 - 关于stackoverflow),说明UISplitViewController不能在基于Storyboard的应用程序中以任何其他方式使用,而不是RootViewController.一些线程包含解决方法,还有替代splitview(https://github.com/mattgemmell/MGSplitViewController)来处理这个问题.

但我无法理解的是,为什么Apple文档恰恰相反.这是Apple iOS 5.0库中章节的链接.它指出:


使用故事板创建拆分视图控制器

要将拆分视图控制器添加到应用程序的故事板:

  1. 打开应用程序的主要故事板.
  2. 将拆分视图控制器拖出库.这还为分割视图控制器的两个窗格创建视图控制器.
  3. 对于每个拆分视图控制器包含的视图控制器,使用标识检查器设置视图控制器的类名称.

要显示拆分视图界面,​​请执行以下操作之一:

  • 通过选择场景并选中"属性"检查器下的"是初始视图控制器"框,将其显示为第一个场景.
  • 通过向其添加模态segue,从另一个场景中显示它.
  • 通过调用performSegueWithIdentifier:sender:方法以编程方式显示它以启动模态segue.

我在很多方面尝试过它,但最后两个语句中描述的方法从未奏效.modal segue和performSegue都失败了,众所周知的错误:

"***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'应用程序试图以模态方式呈现拆分视图控制器......"

有人能够解释一下吗?这是XCODE/iOS 5.0中的错误还是文档中的错误?

此致,彼得

storyboard uiviewcontroller uisplitviewcontroller segue

15
推荐指数
1
解决办法
8988
查看次数

放松segue不工作

我目前正在从Apple的开始开发iOS应用程序中完成教程.

在Tutorial:Storyboards页面(上面的链接)上,我被告知要为两个视图制作自定义类.为简单起见,我将其称为表视图(具有表)和添加视图(具有用于向表添加项的文本字段).

表视图有一个链接按钮打开添加视图,添加视图的导航栏上有两个按钮:取消和完成.

有人告诉我unwindToList在Add View的.m文件中写一个空方法:

- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{

}
Run Code Online (Sandbox Code Playgroud)

然后我被告知将"取消"和"完成"按钮链接到"场景基座"中的"退出"项目(请参见底部的图像),然后选择方法unwindToList.因此,正如教程中引用的那样,这应该是应该发生的:

现在,运行您的应用程序.在启动时,您会看到一个表视图 - 但其中没有数据.您可以单击"添加"按钮并从[表格视图]导航到[添加视图].您可以单击取消和完成按钮以导航回[表格视图]."

但是,当我单击取消或完成时,根本没有任何反应.我确定两者都是联系在一起的.

提前致谢!

教程图片

objective-c ios segue

15
推荐指数
1
解决办法
9978
查看次数