私はNSMUtable配列の画像を持っていますが、別の画像が前と次のボタンで表示されますが、配列の終わりに到達するとシミュレータがクラッシュします。配列の終わりを最初にループして、次のボタンをもう一度押すと画像の配列の終わりに達したときに最初の画像に戻ります以前のボタンは、クラッシュなしの最後の画像にループします。ループ端から端までのuimimagesのNsmutable配列
2
A
答えて
2
円の配列は、標準NSMutableArray
を使用して簡単に実装できます。たとえば、あなたは配列にあなたのイメージを保存すると言うimageArray
と呼ばれるように、あなたの現在の画像のインデックスを追跡するために単純な変数を使用します。
int currentImageIndex = 0;
...あなたはnextImage
とpreviousImage
などを実装するかもしれません。あなたは、配列をステップ実行したいとき
- (UIImage*) nextImage {
currentImageIndex = (currentImageIndex + 1) % [imageArray count];
return [imageArray objectAtIndex:currentImageIndex];
}
- (UIImage*) previousImage {
currentImageIndex--;
if (currentImageIndex < 0) {
currentImageIndex = [imageArray count] - 1;
}
return [imageArray objectAtIndex:currentImageIndex];
}
は、それからちょうどnextImage
とpreviousImage
を使用し、問題が解決しました。
0
シンプルな操作が可能です。あなたがする必要があるのは、あなたが最後の要素にいるかどうかを確認するチェックを作成し、そうであれば、カウントまたはiなどのトラッカーを0に設定することです。
psudoコード //セットインデックス
if (array [ index ] == len(array) - 1) //at end
{
index = 0
}
if(array [index] == -1)//at beginning
{
index = len(array) -1
}
// do something with array[index]
0
私は、このソリューションを提案したい:
選択UIImage、現在のインデックスを保持するNSIntegerプロパティのプロパティ。
-(IBAction) nextButtonTapped:(id)sender
{
self.currentIndex = self.currentIndex++ % [self.images count];
self.selectedImage= [self.images objectAtIndex:self.currentIndex];
[self reloadImageView];
}
-(IBAction) previousButtonTapped:(id)sender
{
self.currentIndex--;
if (self.currentIndex < 0)
self.currentIndex += [self.images count];
self.selectedImage= [self.images objectAtIndex:self.currentIndex];
[self reloadImageView];
}
-(void)reloadImageView
{
//do, what is necessary to display new image. Animation?
}
関連する問題
- 1. 端末からのテキストで配列を作成する
- 2. Python - 3つ以上のWAVファイルを端から端までオーバーレイ
- 3. NSMutable配列からXMLファイルへ
- 4. numpy配列の下端と上端の5パーセンタイルに値を割り当てる
- 5. 左上、上端、下端、右端から色のグラデーションが付いたボーダー
- 6. マーカーの端からマーカーの端を指す矢印
- 7. ブートストラップ3 - コンテナの内側の列に領域を合わせる、エッジの端から端までのポート
- 8. HTMLスクロールしているウェブページの左端から右端まで延長
- 9. 背景画像の幅を端から端まで設定する方法
- 10. JSON例外:org.json.JSONException:非終端配列
- 11. がどのようにforeachループの端から
- 12. 右端値から左端値への変換?
- 13. 右端値から左端値への変換Visual Studio
- 14. オープンXcodeプロジェクトと端末からのXcodeプロジェクトを開く、端末
- 15. 端末内の端末
- 16. iPhoneのあるクラスから別のクラスへのNSMutable配列
- 17. 端末から読むためにループ内のfgetsを使う
- 18. Mac端末でR端末コマンドを使用できますか?
- 19. PySpark:ループ中の端末に印刷
- 20. NSMutable配列から文字列を結合する方法
- 21. マルチファラファイルのfasta配列の末端から立体構造(*)を取り除く
- 22. 端末からftpにアップロード
- 23. NumPyで配列の端にある値を変更する
- 24. NSMutableのUITableViewに配列ボタンが
- 25. iphonesdk nsmutable配列オブジェクトの問題
- 26. NSMutable配列をインデックスで編集する
- 27. 配列からforループまでのモリスチャートデータ
- 28. divの下端から絶対位置に配置
- 29. 左端までのテキスト
- 30. ウィンドウの下端までスクロール