J'essaie simplement d'ajouter une image et un texto au titre de la navigationItem. C'est ce que je fais, mais cela ne montre que l'image et non le titre. Cela semble être assez facile.
exemple (
p>
4 Réponses :
En définissant une vue de titre personnalisé, vous remplacez la vue standard qui affiche normalement le texte du titre. À partir de la documentation de Si vous définissez cette propriété sur un titre personnalisé, il est affiché au lieu du titre. P>
blockQuote>
Vous devez donc ajouter votre propre vue (éventuellement un Titleview code> dans
UINAVIGATIONITEM CODE>: P>
uilabel code>) pour afficher votre titre - une façon de faire cela serait d'ajouter un
Uilabel code> et le
UiImageView code> ci-dessus en tant que sousviews d'un conteneur
uIView code> et définissez que em> comme titre
titreview code>. P>
Voici mon code:
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)]; UILabel *title = [[UILabel alloc] initWithFrame: CGRectMake(40, 0, 300, 30)]; title.text = NSLocalizedString(@"My Title", nil); [title setTextColor:[UIColor whiteColor]]; [title setFont:[UIFont boldSystemFontOfSize:20.0]]; [title setBackgroundColor:[UIColor clearColor]]; UIImage *image = [UIImage imageNamed:@"MyLogo.png"]; UIImageView *myImageView = [[UIImageView alloc] initWithImage:image]; myImageView.frame = CGRectMake(0, 0, 30, 30); myImageView.layer.cornerRadius = 5.0; myImageView.layer.masksToBounds = YES; myImageView.layer.borderColor = [UIColor lightGrayColor].CGColor; myImageView.layer.borderWidth = 0.1; [myView addSubview:title]; [myView setBackgroundColor:[UIColor clearColor]]; [myView addSubview:myImageView]; self.navigationItem.titleView = myView;
UIImage *image = [UIImage imageNamed:@"image.png"]; // Image name with extension self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:image] autorelease]; This maybe the shortest way to do that.
Le plus court est self.navigentItem.titleview = [uiImageView.alloc initwithImage: [UIIMAGE Imagenamed: @ "image.png"]]];
dans Swift 2: strong> liée gotcha: Titlewevview Centres automatiquement, si ce n'est pas le cas avec l'exemple ci-dessus, vous utilisez probablement un Screensize plus petit (par exemple, iPhone). Changez simplement la largeur de l'UIView et Uilabel de 300 à moins, comme adapté. Il va renverser au centre quand il y a de la place. P> p>
Dupe Possible: Stackoverflow.com/Questtions/2280710/... < / a>