1

ブログ アプリで XML を解析します。それを解析すると、タイトル、記事、リンク、コンテンツ、および画像のプロパティを持つエントリというオブジェクトが作成されました。次に、エントリと呼ばれる可変配列を用意し、解析が終了したら、エントリにオブジェクト エントリを追加します。このようにして、テーブルビューで特定の記事のタイトルを取得するために、私は呼び出すことができます

 RSSEntry *entry = [_Entries objectAtIndex:indexPath.row];
 NSString *title = entry.Title;

私がやりたいのは、テーブルビューの上に UIImageView を配置し、配列内のすべての異なる UIImages をスクロールするように設定することですが、これを達成する方法がわかりません。私は animationImages プロパティを知っていますが、可変配列をプロパティで使用しているため、これらすべてで NSArray として何を設定すればよいかわかりません。どんな提案でも大いに役立ちます。

4

3 に答える 3

0

これは、配列列挙を使用すると非常に簡単です。次のコードは、構成済みのスクロール ビューを取得し、配列内のすべてのオブジェクトのイメージ ビューを追加します。また、配列のカウントに基づいて、スクロール ビューのコンテンツ サイズを動的に調整します。

[myMutableArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
    UIImageView *myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myMutableArray objectAtIndex:idx]]];
    [myImageView setFrame:CGRectMake(myScrollView.frame.size.width * idx, myScrollView.frame.origin.y, myScrollView.frame.size.width, myScrollView.frame.size.height)];
    [myScrollView addSubview:myImageView];
    [myScrollView setContentSize:CGSizeMake((myScrollView.frame.size.width * idx) + myScrollView.frame.size.width, myScrollView.frame.size.height)];
}];
于 2012-09-11T17:51:50.930 に答える
0

UIImageView を xob/storyboard の tableview の上に配置する方法を知っていることを願っています。画像の配列で何をしたいのかわかりませんが、それがニーズに合っている場合は、スワイプ認識機能になり、画像をスワイプできます

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    UISwipeGestureRecognizer* recognizerLeft = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeLeft)];

    recognizerLeft.direction =UISwipeGestureRecognizerDirectionLeft;
    recognizerLeft.numberOfTouchesRequired =1;

    [self.view addGestureRecognizer:recognizerLeft];
    [recognizerLeft release];

    UISwipeGestureRecognizer* recognizerRight = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeRight)];

    recognizerRight.direction =UISwipeGestureRecognizerDirectionRight;
    recognizerRight.numberOfTouchesRequired =1;

    [self.view addGestureRecognizer:recognizerRight];    
    [recognizerRight release];

}

- (IBAction)swipeLeft{
    //NSLog(@"Swipe left");
    if(pager.currentPage < pager.numberOfPages - 1){
        pager.currentPage = (pager.currentPage + 1 );
        [self pagerValueChanged];
    }

}

- (IBAction)pagerValueChanged 
{
    NSData* imgData = [images objectAtIndex:pager.currentPage];
    UIImage* img = [[UIImage alloc]initWithData:imgData];
    imageView.image = img;

    //NSLog(@"img width: %f, img height: %f", img.size.width, img.size.height);

    [img release];
}

私のコードにはページング コントロールとその他のコントロールもありますが、おそらくそれらは必要ありません。

于 2012-09-11T15:26:23.710 に答える
0

次の 2 つのオプションがあります。

a) 反復して配列値_Entriesを設定することにより、個別の配列内のすべての画像を収集します。animationImages

b) 独自のビューを準備し、コンストラクターでタイマーを初期化し[NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]、表示される画像を で変更しますselector。スムーズなアニメーションを作成するには、2 つの imageView サブビュー設定を使用して、表示された imageView アルファを 1 から 0 にアニメーション化し、次の imageView アルファを 0 から 1 にアニメーション化します。データソースとしてRSSEntry*、既知のキーパスでそこから画像を取得する配列を使用できます。

最初のオプションはかなり簡単です。

于 2012-09-11T15:26:26.287 に答える