J'ai cherché partout et jusqu'à présent, rien n'a fonctionné pour moi.
Fondamentalement, je veux avoir un fichier .xib appelé rootView.xib et à l'intérieur je veux avoir un UIView (appelons-le containerView) qui ne prend que la moitié de l'écran (il y aurait donc la vue normale et une nouvelle vue). Ensuite, je veux un fichier .xib différent appelé firstView.xib et le charge à l'intérieur de containerView. Je peux donc avoir un tas de trucs sur firstView.xib et un tas de trucs différents dans rootView.xib et charger mon firstView.xib à l'intérieur de containerView dans rootView.xib mais comme il ne prend que la moitié de l'écran, vous verrez toujours le trucs sur rootView.xib
ios
objective-c
uiview
xib
Mat
la source
la source
Réponses:
Pour obtenir un objet d'un fichier xib par programme, vous pouvez utiliser:
[[NSBundle mainBundle] loadNibNamed:@"MyXibName" owner:self options:nil]
qui renvoie un tableau des objets de niveau supérieur dans le xib.Donc, vous pouvez faire quelque chose comme ceci:
la source
thisView.alpha = 0
,thisView.superview
(affiche nul)J'ai créé un exemple de projet sur github pour charger un UIView à partir d'un fichier .xib dans un autre fichier .xib. Ou vous pouvez le faire par programme.
C'est bon pour les petits widgets que vous souhaitez réutiliser sur différents objets UIViewController.
la source
Tu pourrais essayer:
la source
[Mise en œuvre rapide]
Méthode universelle de chargement de la vue depuis xib:
Exemple:
La mise en oeuvre:
la source
let view = Bundle.main.loadNibNamed(name, owner: nil, options: nil)?.first as? T
Créez un fichier XIB:
assurez-vous que la coche "crée également un fichier XIB"
Je voudrais jouer avec
tableview
donc j'ai choisi une sous-classeUITableViewCell
vous pouvez choisir comme votre demande
Conception de fichier XIB à votre guise (RestaurantTableViewCell.xib)
nous devons saisir la hauteur de ligne pour définir la hauteur de chaque ligne
Maintenant! besoin de les archiver fichier rapide. Je suis foutu
restaurantPhoto
etrestaurantName
vous pouvez tous vous foutre.Ajout maintenant d'un UITableView
name
Le nom du fichier nib, qui n'a pas besoin d'inclure l'extension .nib.
owner
Objet à affecter comme objet File's Owner de la pointe.
options
Un dictionnaire contenant les options à utiliser lors de l'ouverture du fichier nib.
d'abord si vous ne définissez pas d'abord, puis en saisissant toutes les vues .. vous devez donc saisir une vue à l'intérieur de cet ensemble
frist
.voici le code complet du contrôleur de vue de table
vous avez fait :)
la source
Pour Swift 3 & 4
la source
Pour Swift 4.2
Supposons que vous ayez une classe nommée NibView et le fichier nib associé est NibView.xib
créez une instance de la classe et ajoutez dans votre vue avec votre mise en page spécifique ce que vous voulez
la source