2012-02-16 1 views
1

私は自分のアプリケーションでCoverFlowを使用していますが、問題なく動作していますが、coverflowで前面に表示される画像のタイトルを表示する必要があります。iphoneのCoverflow Imageテンプレートにタイトルを表示する

loadImagesOperationQueue = [[NSOperationQueue alloc] init]; 
for (int i=0; i < 10; i++) 
     { 
     imageName = [[NSString alloc] initWithFormat:@"cover_%d.jpg", i]; 
     [(AFOpenFlowView *)self.view setImage:[UIImage imageNamed:imageName] forIndex:i]; 
      NSLog(@"my image name is %@",imageName); 
     NSLog(@"%d is the index",i); 

     } 

     [(AFOpenFlowView *)self.view setNumberOfImages:10]; 

私が実行したいスクリーンショットはありますか。

 ]![enter image description here

+0

uが結果を手に入れましたか? –

+0

label = [[UILabel alloc] initWithFrame:CGRectMake(0、280、145、50)]; \t \t label.opaque = YES; \t \t label.hidden = YES; \t \t label.textColor = [UIColor whiteColor]; \t \t label.backgroundColor = [UIColor clearColor]; \t \t label.font = [UIFont boldSystemFontOfSize:20]; \t \t label.textAlignment = UITextAlignmentCenter; [self addSubview:label];これはAFITemViewクラスで - (id)initWithFrame:(CGRect)フレームクラス –

+0

私はlableで行っている、私のアプリは[coverImageName setObject:coverView.imageName forKey:coverNumber]でクラッシュしている、クラッシュレポートでは、 ' - [ __NSCFDictionary setObject:forKey:]:nil値(キー:0)を挿入しようとしています ' – Valli

答えて

3

yes.Uは、以下のように合格する必要があり

for (int i=0; i < 10; i++) { 
     imageName = [[NSString alloc] initWithFormat:@"cover_%d.jpg", i];UIImage* image_=[UIImage imageNamed:imageName]; 
     CGFloat width = 290; 
     CGFloat height = 200; 

     CGSize newSize=CGSizeMake(width, height); 
     [(AFOpenFlowView *)self.view setImage:[self imageWithImage:image_ scaledToSize:newSize] forIndex:i named:imageName]; 
     [imageName release]; 
     NSLog(@"%d is the index",i); 

    } 
    [(AFOpenFlowView *)self.view setNumberOfImages:10]; 
3

あなたは、単にオープンフローコードでクラスAFItemView.m方法- (id)initWithFrame:(CGRect)frame{}にラベルを取り、クラスにチェック:AFOpenFlowView.mは方法のようにselectedCoverView.label.text=coverImagename; .This以下- (void)centerOnSelectedCover:(BOOL)animated{}セットテキストは私のために働きました。

- (void)setImage:(UIImage *)image forIndex:(int)index named:(NSString*)imageName{ 
    // Create a reflection for this image. 
    UIImage *imageWithReflection = [image addImageReflection:kReflectionFraction]; 
    NSNumber *coverNumber = [NSNumber numberWithInt:index]; 
    [coverImages setObject:imageWithReflection forKey:coverNumber]; 
    [coverImageHeights setObject:[NSNumber numberWithFloat:image.size.height] forKey:coverNumber]; 
    [coverImageName setObject:imageName forKey:coverNumber];` 

    // If this cover is onscreen, set its image and call layoutCover. 
    AFItemView *aCover = (AFItemView *)[onscreenCovers objectForKey:[NSNumber numberWithInt:index]]; 
    if (aCover) { 
     [aCover setImage:imageWithReflection originalImageHeight:image.size.height reflectionFraction:kReflectionFraction named:imageName]; 

     [self layoutCover:aCover selectedCover:selectedCoverView.number animated:NO]; 
    } 
}` 

`と私は以下のようなイメージ名を渡します:

+0

ここでcoverImagenameは何ですか?私のimageNameと同じですか? CoverFlowViewControllerクラスでimageNameのプロパティを宣言しましたが、AFOpenFlowView.mには表示されません。 – Valli

+0

@Rama Rao - (void)centerOnSelectedCover:(BOOL)アニメーション{ CGPoint selectedOffset = CGPointMake(COVER_SPACING * selectedCoverView.number、0); coverView = [[CoverFlowViewController alloc] init]; selectedCoverView.lbl.text = coverView.imageName; NSLog(@ "ここでイメージ名は%@"、selectedCoverView.lbl.text); \t [scrollView setContentOffset:selectedOffset animated:animated]; }ログにNULL値が表示されていますが、タイトルはイメージに追加されません。 – Valli

+0

以下のコードをチェックしてください: - (void)centerOnSelectedCover:(BOOL)アニメーション{ \t CGPoint selectedOffset = CGPointMake(COVER_SPACING * selectedCoverView.number、0); \t NSNumber * coverNumber = [NSNumber numberWithInt:selectedCoverView.number]; \t NSString * coverImagename = [coverImageName objectForKey:coverNumber]; \t selectedCoverView.label.text = coverImagename; \t selectedCoverView.label.hidden = NO; \t \t [scrollView setContentOffset:selectedOffset animated:animated]; } –

関連する問題