Personnalisé Pousser Segue supprime la barre de navigation et la barre d'onglet dans le story-board

J'ai suivantes définies dans un personnalisé Segue, nous allons l'appeler 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

Dans mon story-board, j'ai juste changé un Push standard segue à SegueX. Pour une raison quelconque, cela va enlever ma barre de navigation et la barre d'onglet. En outre, toutes les UIBarButtonItems je l'ai défini dans le story-board après la coutume des enchaînements sont cachés au moment de l'exécution. Comment puis-je résoudre ce problème? J'espère qu'il n'est pas censé être de cette façon...

Avant de changer pour un custom segue

Personnalisé Pousser Segue supprime la barre de navigation et la barre d'onglet dans le story-board

Après le passage à une coutume segue

Personnalisé Pousser Segue supprime la barre de navigation et la barre d'onglet dans le story-board

Personnalisé Pousser Segue supprime la barre de navigation et la barre d'onglet dans le story-board

Enregistrer ce pour les Principaux.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 key="frame" x="0.0" y="416" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</toolbar>
<connections>
<segue destination="PDT-yG-B9z" kind="relationship" relationship="rootViewController" id="w27-w2-lcd"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="fNx-r3-Dzg" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-65" y="-179"/>
</scene>
<!--View Controller-->
<scene sceneID="kMj-Al-ZjY">
<objects>
<viewController id="PDT-yG-B9z" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="RKt-BS-gn9"/>
<viewControllerLayoutGuide type="bottom" id="eFe-fv-bG6"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="JbT-x8-qhX">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fTw-C6-P3N">
<rect key="frame" x="137" y="269" width="46" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="Button">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<segue destination="uMi-ds-4FY" kind="custom" id="mPL-yx-hFQ"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
<navigationItem key="navigationItem" id="Im9-4G-4Ga"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="qXF-QN-k3Z" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="473" y="-177"/>
</scene>
<!--View Controller-->
<scene sceneID="ca6-vg-B3h">
<objects>
<viewController id="uMi-ds-4FY" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jd0-A9-WOV"/>
<viewControllerLayoutGuide type="bottom" id="5VJ-sS-U1V"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="gJp-P2-rUC">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="pih-Kj-ioJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1003" y="-179"/>
</scene>
</scenes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>
Vous serez heureux de savoir qu'il n'est pas censé être de cette façon-j'ai copié ton code, et il a parfaitement fonctionné. Malheureusement, je n'ai aucune idée pourquoi le vôtre ne fonctionne pas. Quelle est la version de Xcode et iOS utilisez-vous (le mien est Xcode 5.0.1 iOS 7.0).
J'utilise Xcode 5.0 (5A1412), tente de mettre à niveau et j'espère que ça va fonctionner!
Maintenant j'ai installé Xcode 5.0.2 mais il n'a pas aidé malheureusement, les mêmes résultats encore. Sera mise à jour de la question avec des informations sur la séquence
Hmmm... c'est curieux. Je suppose que votre source-vue-contrôleur est toujours intégré dans la manette de navigation? Si vous pouvez poster votre projet quelque part ou par courriel à moi, je serais heureux de prendre un coup d'oeil.
La barre de navigation et la barre d'outils devrait disparaître dans le storyboard, lorsque vous modifiez la séquence -- c'est normal. Vous pouvez changer la simulation des métriques pour la barre du bas "Translucide de la Barre d'outils", qui va ajouter de retour, de sorte que vous pouvez ajouter des boutons. Mais, vous devriez toujours voir les deux barres avec leurs boutons au moment de l'exécution.

OriginalL'auteur www.jensolsson.se | 2013-11-18