Dans cette dernière période, j'ai travaillé sur trois demandes pour l'iPhone d'Apple, presque simultanément. Deux ont déjà été approuvées par Apple et sont situés sur l'App Store: la Première et iMakeLove .
Dans les deux applications ont adopté l'utilisation d'un objet UIWebView pour afficher les instructions.
L'objet UIWebView a ilevato vraiment pratique dans ce cas. Il m'a permis de visualiser rapidement et un joli texte, images, et accompagné, si rien d'autre a été affichée sur une page Web (Flash sur iPhone non inclus).

L'objet UIWebView est vraiment polyvalent et requiert très peu de paramètres à utiliser. Le seul défaut est la présence d'une ombre mystérieuse qui apparaît lorsque vous faites une sortie de défilement de la zone de contrôle est à la base qu'au sommet:

Après beaucoup de recherches, j'ai réalisé que ce comportement dépend de la SDK, en particulier les dernières mises à jour. Et Apple n'a pas publié de déclaration officielle sur la façon de l'enlever, au contraire, il a rejeté en tant que code n'est pas autorisé une série de hacks qui font usage des fonctions sensibles, ou documenter. Finalement, j'ai abandonné, à la fois pour le temps et parce que les solutions semblaient tous sortir de l'Apple boîte.
Heureusement, j'ai trouvé la solution, je l'espère assez régulièrement, ce qui semble résoudre le problème (grâce à Adolfo ):
1 2 3 4 5 6
| / / WebView est le UIWebView de contrôle [ webView.subviews objectAtIndex : 0 ] ; id = scroller [webView.subviews objectAtIndex: 0];
UIView * subView in [ scroller subviews ] ) pour (sous-vue UIView * dans [scroller subviews]) subView class ] description ] isEqualToString : @ "UIImageView" ] ) if ([[[sous-vue de classe] description] isEqualToString: @ "UIImageView"]) ; subView.hidden = OUI; |
Comme l'a souligné Adolfo c'est encore un hack qui pourraient arrêter de travailler avec les futures versions du SDK.
En savoir plus ...
Après avoir expliqué comment localiser nos chaînes dans Xcode , comme nous le voyons aujourd'hui est simple - appliquant la même technique - de localiser et de visualiser des images et des interfaces créés avec Interface Builder.
Localiser les ressources graphiques
Le processus, tel que mentionné, est le même, si nous avons une image déjà inclus dans nos ressources, ou qu'ils en insérer un nouveau, et nous voulons de «localiser» - qui consiste à gérer deux ou plusieurs images sur la base des langues prises en charge - il suffit de cliquer sur le bouton Image de droite ( Adium.png dans cet exemple), et sélectionnez Get Info:

Nous cliquez sur Créer un fichier localisable dans le coin inférieur gauche.

Cliquez sur Ajouter et insérer la localisation Italian :

Afin d'obtenir:

esattamente come accadeva con il testo: Notre image est déplacée (physiquement, l'une des rares fois où que se passe nell'alberatura Xcode est réfléchi sur le système de fichiers) dans des dossiers virtuels English.lproj et Italian.lproj exactement comme cela s'est produit avec le texte:

contiene una stessa versione dell'immagine. À ce stade, chacun des dossiers English.lproj et Italian.lproj contient la même version de l'image. Cette image est manipulée dans Interface Builder, où nous verrons - par défaut - la version anglaise.
À ce stade, il suffit de remplacer un (ou les deux fichiers Adium.png ) pour obtenir une localisation des images "flash".
Localisez le fichier XIB
Même les interfaces construites avec Interface Builder peut être localisé dans leur intégralité, lorsque cela est jugé nécessaire. ) con interfaccia XIB , lo selezioniamo, scegliamo Get Info dal menu contestuale, rendiamo il file localizzabile, aggiungiamo la localizzazione in italiano: La procédure est identique à celle réalisée avec les capacités graphiques: ajouter un ViewController (par exemple infoViewController ) d'interface XIB, nous la sélectionnons, choisissez Obtenir des informations dans le menu contextuel, donner le localisable fichier, ajoutez la localisation en italien:

Cliquez sur l'anglais ou l'italien ouvrira Interface Builder! ) all'interno della classica cartella Classes . Cette fois, le système de fichiers, nous remarquerons que vous avez créé deux répertoires ( English.lproj et Italian.lproj ) dans le dossier classique des classes. Les deux auront leur fichiers infoViewController.xib . Le confort dans ce domaine, clairement résolue dans le code, quand on va à instancier notre code du contrôleur, nous aurons un «propre» comme ceci:
1 2
| [ InfoViewController alloc ] ; InfoViewController * info = [InfoViewController alloc]; info.view ] ; [Self.view addSubview: info.view]; |
Comme vous pouvez le voir il n'y a pas trace d'une déclaration concernant l'emplacement, entièrement géré par la système. Les deux interfaces, bien sûr, peut être complètement différent en ce sens qu'ils sont à tous égards que deux XIB fichiers séparé.
En savoir plus ...
Même dans le tutoriel plus simple que vous pouvez trouver l'utilisation de protocoles. Il arrivera certainement à beaucoup de votre contrôleur de vue utilisé dans un protocole, la saisie, à côté de la définition de l'interface, une déclaration similaire à:
1 2 3
| UIViewController <uiwebviewdelegate> { @ Interface MyViewController: UIViewController {<uiwebviewdelegate> ... } |
En savoir plus ...
J'ai eu à résoudre un problème gênant sur un blog WordPress: les utilisateurs ont laissé des commentaires avec des phrases longues. Ce produit de la publication du texte, à la fois dans le backend, pire encore, dans le frontend. L'effet était vraiment horrible et pour éviter la main à modérer chaque commentaire, la seule solution était de filtrer - en quelque sorte - la sortie des commentaires.
En savoir plus ...
Peut-être que je devrais écrire "Très très très, courts extraits», cependant, est un excellent et pratique "truc" que je vais vous montrer. L'exécution de "deux" lignes de code ci-dessous, vous pouvez obtenir la sortie de n'importe quelle URL et de le manipuler.
En savoir plus ...
Derniers Commentaires
Giovambattista Fazioli : @ Nik: Je suis heureux! Bonne chance alors!
Nik : J'ai lundi l'examen des informations sur java, grâce à moi que vous avez été très utile, le livre que je n'était pas claire ...
Marquez : Merci beaucoup, je l'ai allumé
Je l'ai résolu par la mise en [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Mark: Je vous suggère de réfléchir une approche plus correcte. Si vous exécutez la sous-classe de l'onglet ...
louis : très clair et simple, je dois avouer que rédiger un an à peine utiliser des délégués créés par ...