2016-03-19 16 views
0

Fotoğrafın bir sözcüğün anagramı ile geldiği bir uygulama yapmaya çalışıyorum. Anagram bölümüm var ama resmin çıkmasını sağlayamıyorum. Resim "görüntüler" adlı bir klasöre kaydedilir. AnagramPics - item 0'u anagrams -item 0 ile aynı anda çağırmak istiyorum - resmiyle eşleşen kelimeyiGörüntü yolunu plist olarak kaydetme ve ekranda görünecek şekilde geri alma

Şimdiden teşekkürler. anagrama için

I would like to call anagramPics - item 0, at the same time as anagrams -item 0 - to match the word with the pic

kodu:

level.m

#import "Level.h" 

@implementation Level 

+(instancetype)levelWithNum:(int)levelNum; 
{ 
// find .plist file for this level 
    NSString* fileName = [NSString stringWithFormat:@"level%i.plist", levelNum]; 
    NSString* levelPath = [[[NSBundle mainBundle] resourcePath]  stringByAppendingPathComponent:fileName]; 

    // load .plist file 
    NSDictionary* levelDict = [NSDictionary dictionaryWithContentsOfFile:levelPath]; 

    // validation 
    NSAssert(levelDict, @"level config file not found"); 

    // create Level instance 
    Level* l = [[Level alloc] init]; 

    // initialize the object from the dictionary 
    l.pointsPerTile = [levelDict[@"pointsPerTile"] intValue]; 
    l.anagrams = levelDict[@"anagrams"]; 
    l.timeToSolve = [levelDict[@"timeToSolve"] intValue]; 

    return l; 
} 

@end 

level.h

#import <Foundation/Foundation.h> 

@interface Level : NSObject 

//properties stored in a .plist file 
@property (assign, nonatomic) int pointsPerTile; 
@property (assign, nonatomic) int timeToSolve; 
@property (strong, nonatomic) NSArray* anagrams; 

//factory method to load a .plist file and initialize the model 
+(instancetype)levelWithNum:(int)levelNum; 

@end 

gameController.h

-(void)dealRandomAnagram 
{ 
//1 
NSAssert(self.level.anagrams, @"no level loaded"); 

//2 random anagram 
int randomIndex = arc4random()%[self.level.anagrams count]; 
NSArray* anaPair = self.level.anagrams[ randomIndex ]; 

//3 
NSString* anagram1 = anaPair[0]; 
NSString* anagram2 = anaPair[1]; 

//4 
int ana1len = [anagram1 length]; 
int ana2len = [anagram2 length]; 

//5 
NSLog(@"phrase1[%i]: %@", ana1len, anagram1); 
NSLog(@"phrase2[%i]: %@", ana2len, anagram2);  
} 
+1

kodunuzu gönderin. – ryantxr

+0

Resim göstermeye çalışan herhangi bir kod göremiyorum. – ryantxr

+0

ile sorun yaşıyorum. Nasıl adlandırılacağını bilmiyorum. – isabella

cevap

0

Görüntülenecek bazı sabit resimlerin olduğu benzer bir durum var. Yaptığım buydu.

Storyboard'da bir UIImageView eklendi. Kısıtlamaları kullanarak istediğim yere yerleştirdim.

Bunun için bir IBOutlet oluşturuldu. Bunu myImageView olarak adlandırın.

Tüm resimlerimi varlık olarak ekledim. Benim durumumda çeşitli kredi kartı görüntüleri gösteriyorum ama prensip aynı. Credit card image assets

Looks like this in Xcode

Her görüntü varlık

Click on Images.xcassets bir Contents.json dosyası ve onunla gitmek görüntü dosyaları ile bir klasördür. Üç dosya olduğunu göreceksiniz. iOS

Contents.json şöyle vb retinanın iPhone 6plus için doğru boy kullanacağız: ayarlayarak UIViewImage imajını değiştirmek, kodunda

{ 
    "images" : [ 
     { 
      "idiom" : "universal", 
      "scale" : "1x", 
      "filename" : "[email protected]" 
     }, 
     { 
      "idiom" : "universal", 
      "scale" : "2x", 
      "filename" : "[email protected]" 
     }, 
     { 
      "idiom" : "universal", 
      "scale" : "3x", 
      "filename" : "[email protected]" 
     } 
    ], 
    "info" : { 
     "version" : 1, 
     "author" : "xcode" 
    } 
} 

asset folder

onun görüntü özelliği

(Bu Swift kodudur. Sen Objective-C kendin dönüştürmek gerekir.)

myImageView.image = UIImage(named:"Card VISA") 
+0

gibi isimleri var, kodunuzu buna tam olarak koydunuz mu? Aslında iyi bir fikir! çok teşekkür ederim! – isabella

+0

Benim durumumda bir tablo görünümündedir, bu yüzden tablo görünümünde: cellForRowAtIndexPath. Size nereye koyacağınızı söyleyemem çünkü bu, uygulamanızın nasıl yapılandırıldığına bağlı.Resmi değiştirmek için bir düğme kullanıyorsanız, o düğmenin IBAction kısmına koyun. – ryantxr

İlgili konular