2010-12-14 5 views
0

J'ai une partie sur mon application que je montre aux utilisateurs, les fichiers qu'ils ont créés et stockés dans le répertoire de l'application. Je veux autoriser les utilisateurs à renommer les fichiers.iphone - trucs à l'intérieur alertview

Je me demande de le faire:

  1. L'utilisateur sélectionne un fichier
  2. L'utilisateur tape sur le bouton Rename.
  3. Une alerte affiche pops montrant l'ancien nom et ayant un textview où l'utilisateur peut taper le nouveau nom.

Ma question est: est-ce béni par Apple? Cela ressemble à un hack à l'alertview.

L'application sera-t-elle approuvée?

J'ai fait des recherches sur Google et j'ai vu des opinions mitigées à ce sujet.

grâce

+1

Ce n'est pas béni. La benne à ordures dans la hiérarchie de vue des contrôles standard est une zone grise que vous ne voulez pas aborder, car (a) vous pourriez être rejeté pour cela et (b) même si vous ne changez pas ces structures internes, souvent . –

Répondre

2

Généralement, je pense que la bonne interface utilisateur HIG serait une UITableView avec la liste des fichiers. L'utilisateur appuie sur le bouton Modifier et les lignes de la page deviennent modifiables, ce qui vous permet de supprimer une ligne/fichier (avec une alerte de vérification) et une flèche de divulgation qui pousse une vue détaillée où vous pouvez changer le nom.

Une alternative, mais pas HIG convivial, affiche le nom du fichier dans un UITextField où le borderStyle ensemble à UITextBorderStyleNone et ont permis ensemble à NO. Lorsque l'utilisateur appuie sur le bouton Renommer, vous modifiez le borderStyle à UITextBorderStyleRoundedRect et activé défini sur YES, définissant le firstResponder à la zone de texte afin que le curseur clignote dans le champ textField. Vous devez OK et Annuler les boutons. Ou vous pouvez ajouter un champ de texte à l'UIAlertView, également contre le HIG mais peut-être mieux.

+0

Merci. Je vais aller avec cela et rendre tout le monde heureux. :-) – SpaceDog

0

Oui, il est dans l'iPhone sdk Alertbox, Alertbox peuvent avoir le textField dans lequel vous renommez le fichier.

Cocher cette link

pour faire ce genre de choses. Aucun problème pour accepter votre application

+0

En fait, l'article lié montre un exemple qui utilise un appel API non documenté. C'est garanti pour obtenir votre application rejetée.Vous pourriez vous en tirer en ajoutant simplement UITextViews comme sous-vues à l'UIAlertView, cependant. –

0

Vous pouvez soit sous-classer UIAletView et ajouter votre propre initWithTitle: message: ... etc. méthode, comme indiqué dans le tutoriel this, ou utilisez la méthode non documentée [alert addTextFieldWithValue:@"" label:nil];, ce qui est plus facile mais peut amener Apple à rejeter votre application.

2

Je ne sais pas si la propriété alertViewStyle était disponible lorsque vous avez posé cette question mais en cherchant à résoudre ce problème pour moi, j'ai trouvé que le fait de définir cette propriété avec UIAlertViewStylePlainTextInput résout votre problème.