L'affichage tableau des images, le code renvoie iphone à l'écran d'accueil
Ici, est le problème de code:
Le code pour afficher un tableau d'images qui peuvent alors être défiler.
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *photos = [[NSArray arrayWithObjects:
[UIImage imageNamed:@"Event.png"],
[UIImage imageNamed:@"Logo.png"],
[UIImage imageNamed:@"default.png"],
[UIImage imageNamed:@"LittleLogoImage.png"],
nil] retain]; //TODO – fill with your photos
//note that the view contains a UIScrollView in aScrollView
int i=0;
int width = 0;
int height = 0;
for ( NSString *image in photos )
{
UIImage *image = [UIImage imageNamed:[photos objectAtIndex:i]];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.clipsToBounds = YES;
imageView.frame = CGRectMake( imageView.frame.size.width * i++, 0, imageView.frame.size.width, imageView.frame.size.height);
[aScrollView addSubview:imageView];
width = imageView.frame.size.width;
height = imageView.frame.size.height;
[imageView release];
}
aScrollView.contentSize = CGSizeMake(width*i, height);
aScrollView.delegate = self;
}
Des idées?
[Session a commencé à 2011-05-07
22:46:47 +0100.] 2011-05-07
22:46:49.314 ALPHA[1171:207] load01
2011-05-07 22:47:13.749
ALPHA[1171:207] 2 2011-05-07
22:47:13.751 ALPHA[1171:207] dealloc01
2011-05-07 22:47:13.755
ALPHA[1171:207] load02 2011-05-07
22:47:19.791 ALPHA[1171:207] 4
2011-05-07 22:47:19.792
ALPHA[1171:207] dealloc02 2011-05-07
22:47:19.795 ALPHA[1171:207] -[UIImage
longueur]: unrecognized sélecteur envoyé à
exemple 0x4b20f60 2011-05-07
22:47:19.797 ALPHA[1171:207] *
Résiliation d'application en raison de uncaught
exception
'NSInvalidArgumentException', la raison:
'-[UIImage longueur]: unrecognized
sélecteur envoyé à l'instance 0x4b20f60'
* Pile d'appel au premier lancer: ( 0 CoreFoundation
0x00dca5a9 exceptionPreprocess + 185
1 libobjc.Un.dylib
0x00f1e313 objc_exception_throw + 44
2 CoreFoundation
0x00dcc0bb -[NSObject(NSObject)
doesNotRecognizeSelector:] + 187 3
CoreFoundation
0x00d3b966 __transfert + 966 4
CoreFoundation
0x00d3b522 _CF_forwarding_prep_0 + 50
5 UIKit
0x003e3568 _UIImageAtPath + 36 6
ALPHA
0x000037fd -[PhotosView viewDidLoad] +
597 7 UIKit
0x0036a089 -[UIViewController vue] +
179 8 ALPHA
0x00002af3 -[ALPHAViewController
displayView:] + 500 ALPHA 9
0x00002707 -[ALPHAAppDelegate
displayView:] + 60 10 ALPHA
0x00002cdd -[Vue2 viewPhotos:] + 99
11 UIKit
0x002ba4fd -[UIApplication
sendAction:à:de:forEvent:] + 119
12 UIKit
0x0034a799 -[UIControl
sendAction:: forEvent:] + 67 13
UIKit
0x0034cc2b -[UIControl(Interne)
_sendActionsForEvents:withEvent:] + 527 14 UIKit
0x0034b7d8 -[UIControl
touchesEnded:withEvent:] + 458 15
UIKit
0x002deded -[UIWindow
_sendTouchesForEvent:] + 567 16 UIKit
0x002bfc37 -[UIApplication sendEvent:]
+ 447 17 UIKit 0x002c4f2e _UIApplicationHandleEvent +
7576 18 GraphicsServices
0x01722992 PurpleEventCallback + 1550
19 CoreFoundation
0x00dab944
CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION
+ 52 20 CoreFoundation 0x00d0bcf7 __CFRunLoopDoSource1 + 215
21 CoreFoundation
0x00d08f83 __CFRunLoopRun + 979 22
CoreFoundation
0x00d08840 CFRunLoopRunSpecific + 208
23 CoreFoundation
0x00d08761 CFRunLoopRunInMode + 97 24
GraphicsServices
0x017211c4 GSEventRunModal + 217 25
GraphicsServices
0x01721289 GSEventRun + 115 26 UIKit
0x002c8c93 UIApplicationMain + 1160
27 ALPHA
0x000026a8 principal + 102 28 ALPHA
0x00002639 début + 53 )
résilier appelé après avoir jeté une instance de "NSException'
Merci encore,
Jack
Aussi, si vous pouvez le faire à travers elle et dites-nous qui ligne les causes de l'accident qui permettrait une tonne.
Semble que il ya quelques bonnes explications ci-dessous. Si ça fonctionne, vous devez les accepter une réponse. Si non, veuillez fournir plus d'informations.
OriginalL'auteur Jack Nutkins | 2011-05-07
Vous devez vous connecter pour publier un commentaire.
C'est votre problème. Vous avez un
NSString
et unUIImage
nommé la même chose. Lorsque vous redeclare votreNSString
comme unUIImage
, vous confondez votre laforin
boucle. La boucle semble toujours penser que vous avez unNSString
, alors qu'en réalité, vous avez unUIImage
. Notre première étape est d'essayer de remplacer ce code avec ce code à la place:Toutefois, ce code ne fonctionne pas, soit. Heureusement, votre
images
tableau stocke déjàUIImages
, si vos n'avez pas besoin deNSString
à tous! Ainsi, vous pouvez remplacer les trois premières lignes de votre boucle avec ceci:Que c'est! Vous n'avez pas besoin de votre
UIImage *image = ...
ligne à tous car il est créé dans les parenthèses.Espérons que cette aide!
OriginalL'auteur aopsfan
Dans
photos
vous déjà magasin UIImage objets. Pourquoi essayez-vous dans le cycle de la boucle de la crèteUIImage
deUIImage
?Vous devez faire comme ceci:
Vous avez raison. J'aime ces situations où nous pouvons obtenir un peu de comprendre comment le cadre des méthodes de travaille.
OriginalL'auteur 5hrp
photos est un NSArray de UIImages oui, vous êtes l'énumération de ce que les chaînes?
devrait être:
En fait, il n'a pas d'importance (uniquement avertissement peut apparaître dans certaines situations). En objective-c tous les types sera vérifié au moment de l'exécution. En outre,
for (id image in photos)
travaille un peu plus vite. C'était une de la performance des conférences lors de la WWDC'2010.OriginalL'auteur chilitechno.com
OriginalL'auteur Mayur Boda