dans xcode 5, j'ai pu glisser un uiview code> dans un
utableview code> dans ib pour créer l'en-tête. Cependant, dans Xcode 6, IB ne me laissera pas laisser tomber un à l'intérieur. N'y a-t-il aucun moyen de créer l'en-tête de la table dans IB plus? P>
4 Réponses :
Vous venez de faire glisser un Vous pouvez faire semblable au fond pour faire un pied de page. p>
Pour un contrôleur de vue de table dans un storyboard: P>
p>
Pour une vue de table dans un XIB: P>
p> uiview code> en haut de la table (au-dessus du texte "Prototype des cellules") et de le tenir là. L'indicateur de chute passe à une seule ligne horizontale avec un petit cercle à chaque extrémité. Lorsque vous le déposez, cela fait un en-tête. P>
C'est plus délicieux avec Xcode 6 qu'auparavant. M'a pris 10 minutes et d'innombrables essais pour y parvenir
Sérieusement? Je le tiens sur la table et je ne me laisse jamais tomber à l'intérieur. J'ai compris un piratage qui a travaillé pour moi, affiché comme réponse ci-dessous
Vous devez le tenir au-dessus du texte "Cellules prototypes". L'indicateur de chute passe à une ligne bleue avec des cercles à gauche et à droite de la table. Je vais essayer d'obtenir un enregistrement à l'écran.
YA Peut-être qu'une capture d'écran peut aider. Je ne vois pas de vision de "cellules prototypes" n'importe où dans IB ou ailleurs, je peux déposer un UIView au-dessus de
Êtes-vous dans un storyboard ou un XIB?
Enregistrements d'écran ajoutés, pour les deux options
J'utilise une nib. J'essayais de le laisser tomber en place à l'intérieur du plan de document comme je l'ai fait dans Xcode 5, mais je suppose que cela ne fonctionne plus. C'est beaucoup plus difficile à travailler, je suis content d'avoir eu un en-tête déjà configuré dans Xcode 5 que j'ai pu copier / coller dans mes nouvelles Nibs.
Je ne peux toujours pas obtenir cela pour travailler. J'ai fini par modifier manuellement le XML du XIB afin de tomber dans un pied de page (je n'en ai pas précédemment un dans un XIB différent de copier). Je fais exactement la même chose que tu es mais ça ne marche toujours pas :(
Je pense que la vue de table doit être une vue de haut niveau. Je ne pouvais pas obtenir cela pour travailler lorsqu'il est intégré dans la vue du conteneur.
Qu'est-ce que j'ai fini par faire (qui a fonctionné génial) était de copier un existant existant code> avec un en-tête d'un autre NIB i eu déjà configuré avec xcode 5. Puis j'ai simplement supprimé tout le reste de cette table Sauf l'en-tête juste pour que je puisse l'obtenir correctement. Cependant, cet astuce ne fonctionnera que si vous avez configuré une table avec un en-tête de Xcode 5 auparavant. Si vous travaillez avec un nouveau projet Xcode 6, je n'ai toujours pas de solution. p>
Cliquez avec le bouton droit de la souris sur le fichier XIB et sélectionnez 'Ouvrir sous', sélectionnez Code source
Recherchez l'élément XML de la TableView et remplacez par le suivant P>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" style="plain" separatorStyle="none" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="YCz-1P-cVv"> <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <view key="tableHeaderView" contentMode="scaleToFill" id="vv3-pk-N2N"> <rect key="frame" x="0.0" y="0.0" width="320" height="156"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="yho-bJ-IzF"> <rect key="frame" x="0.0" y="25" width="320" height="44"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> </imageView> </subviews> <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> </view> </tableView>
Yup c'est ce que j'ai fini par faire. Modification manuelle Le XML était le seul moyen que je puisse ajouter une en-tête ou un pied de page dans ma table sans copier d'une table existante.
Je pense que vous devriez ajouter une en-tête de table et une vue de pied de page par code source. D'abord Faites un clic droit sur IB et ouvrez comme code source, puis placez le code ci-dessous
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="MZF-la-Fpw"> <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <view key="tableHeaderView" contentMode="scaleToFill" id="IDM-OR-d2g"> <rect key="frame" x="0.0" y="0.0" width="320" height="40"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> </view> <view key="tableFooterView" contentMode="scaleToFill" id="Q4z-o4-2rB"> <rect key="frame" x="0.0" y="518" width="320" height="50"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> </view> <connections> <outlet property="dataSource" destination="-1" id="guW-ch-dgt"/> <outlet property="delegate" destination="-1" id="j1u-5q-dsq"/> </connections> </tableView>
Yeah Xcode 6 suce, mais après 6-7 tentatives, j'ai pu y arriver.