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
Après le passage à une coutume segue
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.
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
Vous devez vous connecter pour publier un commentaire.
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 (vous voulez seulement changer la simulation de mesures, de ne pas glisser dans une autre barre d'outil qui permettrait d'ajouter un deuxième outil de la barre). Vous devriez toujours voir les deux barres avec leurs boutons au moment de l'exécution.
OriginalL'auteur rdelmar
Essayez de vérifier si vous avez mis sur le storyboard d'une option comme
Que les mesures sont présumées sur le poussé-vue-contrôleur (mais je suis sûr que ça ne compte pas).
Et/ou de la force de la barre de navigation et la barre du bas pour être visible par programmation à l'aide, à l'intérieur de la
-viewWillAppear
de la poussée-vue-contrôleurAvez-vous essayé par programmation?
Oui, tout fonctionne si je le fais par programmation. (Même le story-board version fonctionne, mais l'élément de navigation les boutons n'est pas créé dans l'application) Donc, j'ai effectivement une barre de navigation et un tabbar au moment de l'exécution, mais les boutons dans la barre de navigation sont inexistants, et il n'y a aucun moyen pour moi d'ajouter des boutons dans le story-board depuis la barre de navigation est caché ici
OriginalL'auteur Andrea
OriginalL'auteur SuvaP