0

iCarousel を使用して画像を表示していますが、奇妙なことに、コードを正しく実行しても何も表示されません。ディレクトリフォルダから画像を表示しようとしています。ディレクトリフォルダーには、画像が保存されているフォルダーがほとんどありません。何か足りないものはありますか?私はほとんどそこにいますが、それはできません。また、UIView の最後の括弧に、コントロールが非 void 関数の終わりに到達したという警告が 1 つあります。これはこの問題と関係がありますか? 返品を入れましたが、機能しません。これは以下の私のコードです。

-(void)viewDidLoad
{
    [super viewDidLoad];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSFileManager *fileManager  = [NSFileManager defaultManager];

    //configure carousel1
    NSString *fPath = [documentsDirectory stringByAppendingPathComponent:@"Tops"];
    NSArray *directoryContent = [fileManager directoryContentsAtPath: fPath];
    imageArray1 = [directoryContent mutableCopy];

    //configure carousel2
    fPath = [documentsDirectory stringByAppendingPathComponent:@"Bottoms"];
    directoryContent = [fileManager directoryContentsAtPath:fPath];
    imageArray2 = [directoryContent mutableCopy];

    carousel1.type = iCarouselTypeLinear;
    carousel2.type = iCarouselTypeLinear;
}

- (void)viewDidUnload
{
    [super viewDidUnload];

    //free up memory by releasing subviews
    self.carousel1 = nil;
    self.carousel2 = nil;
}

#pragma mark -
#pragma mark iCarousel methods

- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
    //return the total number of items in the carousel
    if (carousel == carousel1)
    {
        return [imageArray1 count];
    }
    else
    {
        return [imageArray2 count];
    }
}
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{

    //create new view if no view is available for recycling
    if (view == nil)
    {
        view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)];

        UIImage *image;
        if (carousel == carousel1)
        {
            image  = [UIImage imageWithContentsOfFile:[imageArray1 objectAtIndex:index]];
            ((UIImageView *)view).image = image;
        }
        else
        {
            image  = [UIImage imageWithContentsOfFile:[imageArray2 objectAtIndex:index]];
            ((UIImageView *)view).image = image;
        }
            return view;
    }}

- (CGFloat)carousel:(iCarousel *)carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value
{
    //customize carousel display
    switch (option)
    {
        case iCarouselOptionSpacing:
        {
            if (carousel == carousel2)
            {
                //add a bit of spacing between the item views
                return value * 1.05f;
            }
        }
        default:
        {
            return value;
        }
    }
}

もっとコードを見たいかどうか気軽に質問してください。

#import <UIKit/UIKit.h>
#import "iCarousel.h"


@interface iCarouselExampleViewController : UIViewController <iCarouselDataSource, iCarouselDelegate>{
    NSMutableArray *allImagesArray;
    NSMutableArray *imageArray1;
    NSMutableArray *imageArray2;
}

@property (nonatomic, retain) IBOutlet iCarousel *carousel1;
@property (nonatomic, retain) IBOutlet iCarousel *carousel2;

@end
4

1 に答える 1