問題タブ [didselectrowatindexpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
59 に答える
219631 参照

ios - -didSelectRowAtIndexPath: 呼び出されていません

タブ ビュー内にテーブル ビューを持つ iOS アプリを作成しています。私のUITableViewControllerでは を実装-tableView:didSelectRowAtIndexPath:しましたが、実行時に行を選択すると、メソッドが呼び出されません。ただし、テーブル ビューには値が設定されているため、コントローラー内の他の tableView メソッドが呼び出されていることがわかります。

これを実現するために私が何を台無しにしたのか、誰か考えがありますか?

0 投票する
2 に答える
2625 参照

iphone - iPhone-UITableViewが3.0SDKのdidSelectRowAtIndexPathメソッドを呼び出さない

SDKの2.xバージョンで正常に動作するiPhoneアプリがあります。3.0にアップグレードすると、didSelectRowAtIndexPathメソッドが呼び出されなくなったため、ユーザーが行を強調表示したときのアクションは発生しません。これは、UITableViewとは別のペン先にあるカスタムUITableViewCellです。データソースとデータデリゲートの両方がInterfaceBuilderに適切に接続されており、2.21にコンパイルすると機能します。バージョン3.0では、行をクリックしても何も起こりません。

この質問は、同様の問題に言及していますが、クリックを取っている別のファーストレスポンダーに言及しています。セルまたはテーブルに接続されたファーストレスポンダーメソッドはありません。

2.xおよび3.0でテーブルを正しく機能させるにはどうすればよいですか?カスタムセルにはいくつかのラベルと画像があり、行をクリックしてその特定の行の詳細を表示できるようにしたいだけです。

0 投票する
1 に答える
1188 参照

cocoa-touch - UITableViewCell の選択はすべてのセルにとどまります!

私はまだ iPhone SDK に精通している途中です。

これは私がやろうとしていることです:

UIScrollView があり、各スクロール ビューには UITableView があり、カスタム UITableViewCell を実装しました。

望ましい機能は、最初は選択がなく、ユーザーが行を選択してスクロールし、次のスクロール ビューで別の選択を行って続行することです。ユーザーが後で選択を変更できるように、選択を維持したい。

ただし、私の場合、最初と2番目のUITableViewは問題なく、選択された行は選択されたままですが、3番目のUITableViewでは、最初のUITableViewと同じ行が「すでに」選択されています。選択したものを見たくありません。

私は自分が愚かなことをしていることを知っていますが、何を理解することはできません。どんな助けでも本当に感謝しています。

ありがとう、エイミー

関連するデータ ソースとデリゲート メソッドを次に示します。

0 投票する
1 に答える
4859 参照

iphone - テーブルビューの最初のセルをタップすると、didSelectRowAtIndexPathがトリガーされません

テーブルビューの最初のセルをタップしてdidSelectRowAtIndexPathもトリガーされません...誰かがこれを認識している、および/またはこれが発生する理由について何か手がかりがありますか?テーブル内の他のすべてのセルは正常に機能し、アプリのコードにブレークポイントを設定するとdidSelectRowAtIndexPath、最初のセルがタップされた場合はそのコードに入りませんが、他のセルがタップされた場合はコードに入ります。ここにいくつかのコードがあります:

あなたの時間とあなたが私に与えることができるどんな助けにも感謝します!

0 投票する
6 に答える
9593 参照

iphone - サブビューのビューコントローラーをプッシュできません

UINavigationController があり、UISegmentControl を使用して切り替える個別の UIView があります。ビューを切り替えるときに、ビューをサブビューとしてナビゲーション コントローラーのビューに追加します。

次に、サブビューにはそれぞれUITableViewがありますが、私の問題は、didSelectRowAtIndexPathメソッドで新しいviewControllerをビューにプッシュできないことです。

メソッドは正しく呼び出され、ブレークポイントを設定することで、ビューをプッシュするメソッドも呼び出されることがわかりますが、何も起こりません。これはそれをプッシュするための私のコードです:

[self.navigationController pushViewController:detailsViewController animated:YES];

私も試しました

[super.navigationController pushViewController:detailsViewController animated:YES];

私は何を間違っていますか?またはサブビューでそれを行うことはできませんか?

0 投票する
1 に答える
2712 参照

objective-c - didSelectRowAtIndexPathを実装すると、「競合するタイプ」の警告が表示されるのはなぜですか。

tableviecontroller実装でdidSelectRowAtIndexPath:メソッドを実装しています。コードに「競合するタイプ」の警告が表示されます。すべてが機能しているように見えますが、警告は私を悩ませます。私の実装ファイルのコードは次のとおりです。

もともと私は(NSIndexPath *)の戻り型を持っていましたが、UITableView.hに記載されているように、その型は無効である必要があることがわかりました。どちらのリターンタイプも同じ効果があります。コードは機能しますが、次の警告が表示されます...

あなたが与えることができるどんな助けにも感謝します...

0 投票する
1 に答える
5126 参照

cocoa - AppDelegate RootController.m から、さまざまなクラスからアクセスされている

私の問題は、コントローラー(たまたま私のrootViewController)から別のビューに情報を取得することです。アプリデリゲートを介してアクセスしようとしても、機能させることができませんでした。これを行う方法を見つけましたが、このインターンにより、モーダルビューコントローラー内のビューを実際にデータを表示するという別の問題が発生しました。以下に、appDelegate 情報と、支援が必要な場合に備えて NSMutable Dictionary ソリューション コードの両方を投稿しました。

私はこの問題を自分で解決するために1週間以上試みました. 私の問題は、appDelegate にアクセスする方法でした。そのため、NSDictionary に問題がありました。結局、問題は NSDictionary ではありませんでした。

まず、私がプログラミングをやり過ぎていることに気づき、正しい方向に向けてくれた TechZen に感謝します。

これが私が学んだことです。

appDelegate で変数を割り当てます。

AppDelegate.h

AppDelegate.m

ViewController.m で、変数を appDelegate に割り当てます。これは、tableView 関数の didSelectRowAtIndexPath 内で行いました。

ビューコントローラーで、appDelegate から変数をロードしたいので、次のように設定します。

およびviewController.mファイル内。

.....そして、あなたが今欲しいものにそれを割り当ててください!

これがすべての人に役立つことを願っています。この時点で、そこから NSArray を NSDictionary にドロップできますが、アクセスはキーと値を使用するようになったため、この時点でのアクセスは少し複雑になりますが、もちろん利点があります。私はまだそれを完全にダウンさせることはできず、そのメソッドから離れて、今のところ NSArray を使用するだけです。

以下は、Maker の h および m ファイルのサンプルです。

およびその Maker.m ファイル。

私は本当に多くの時間を費やしたので、これが他の人がこれを理解するのに役立つことを願っています.

カーク

0 投票する
6 に答える
18274 参照

iphone - UITableViewCellが選択されているときにtextLabelをどのように変更しますか?

セルが選択されているときに、セルの textLabel と detailTextLabel を変更したい。以下を試しましたが、変化はありません。

0 投票する
1 に答える
1584 参照

iphone - -didSelectRowAtIndexPathが機能していません。iPhone SDK 3

こんにちは、みなさん。単純なUINavigationControllerをタブバーアプリケーションに組み込んでいます。私はTabBarをルートコントローラーとして設定していますが、すべて正常に動作しているようです。このメソッドは正しく呼び出され、壊れることはありませんが、詳細ビューには変更されません。私はこれで完全に迷子になっています。

私はこのビデオの指示に従いました:http ://www.youtube.com/watch?v = LBnPfAtswgw&feature = player_embedded# 。達成しようとしていることで動作するようにいくつかの変更を加えましたが、基本的なロジックは同じままにしました。彼女はSDK2.*を使用しており、私は3.*を使用しています。これはそれと関係があると思います。誰かが私を助けることができますか?これは私のdidSelectRowAtIndexPathがどのように見えるかです:

私はここでおかしくなります。これを別の場所に投稿する必要がある場合は、喜んで投稿します。前もって感謝します!

0 投票する
1 に答える
1674 参照

uitableview - 2 つのコントローラー間で、配列内の didSelectRowAtIndexPath 選択を共有します

モーダル ビューにロードされた複数のビューでテーブル行の選択を共有するという終わりのない探求で、1 つの問題にたどり着きました。この魔法を再現するモデルとして Apples DrillDownSave サンプル コードを使用しています。そして、私はそれをすべてまったく同じように設定したと思います...

私の RootViewController.m の didSelectRowAtIndexPath セクションには、バイオリンメーカーの MSMutableArray を同じ名前の DetailsView MSMuteableArray にコピーする次のコードがあります。すべての色分け、およびエラーがないことは、私が正しい道を進んでいることを示しています..しかし..

RootviewController.h ファイルで、次の方法で DetailsViewController を参照します。

次に、DetailsViewController .h ファイルで:

そして DetailsViewController .m ファイルで:

上記のように、バイオリンメーカーのデータを定義するために使用する別のクラスがあります。これは didSelectRowAtIndexPath 内の rootviewcontroller で正常に機能するため、それが問題の一部ではないことはわかっています。もちろん、.m ファイルで参照します。rootViewController から DetailsViewController を直接プッシュするだけで機能することをテストしているため、すべて通常どおり IB に接続されており、データは UITextView に正常に読み込まれます。

RootviewController (tableViewColler) からプッシュされたビュー (完璧に動作) から DetailsViewController を起動しています。次の方法でモーダル ビューとして起動しています。

ビルド時にエラーは発生せず、ビューが読み込まれますが、textView の情報は空白です。これは、何もロードされておらず、適切に接続されていることも示しています...私はとても近くにいます...しかし、NSLogから、値が次のようになっていることがわかります。

そのため、RootviewController のバイオリンメーカーは、DetailsViewController のバイオリンメーカー配列にコピーされません。私はそれを認めたくありませんが、何週間もの間、appDelegate、NSDictionary、およびその他のあらゆる方法でこれを機能させるためにさまざまなソリューションを試しましたが、役に立ちませんでした。答えは、バイオリンメーカーがリリースされているため、何も渡さないか、RootViewController の割り当て行が機能していないと思います。私が何を変えることができるか知っている人はいますか?

不足しているものを取得していないだけですが、これは私が得た最も近いものであり、リンクを正しくする必要があるか、値が保持されていない理由を確認してください。値がいつリリースされるかを確認する方法があれば、この問題を確認できます。私はそれをどこにでも保持しようとしました(そしてそれを機能させた後に修正しました)が、機能していません...助けて??

みんな、ありがとう!!!

敬具 カーク

RootViewController の読み込み行を次のように変更しようとしました。

@Frankまず、これについて親切に助けてくれてありがとう!! rootViewController にバイオリンメーカー オブジェクトを同じ方法で設定すると、以下のように正常に動作します。

ここで、NSLog で問題なくロードされていることがわかります。ここで objectAtIndex:indexPath.row から配列にロードし、その配列をコピーして、DetaisViewController から ViolinMaker オブジェクトに入れるとうまくいくと思いました。DetailsViewController 内で ViolinMaker オブジェクトを再作成する必要はありませんでした。RootViewController からのように配列から再読み込みするだけです。

これは、DrillDownSave Apple の例がそれを行う方法であり、この構成をミラーリングしました。didSelectRowAtIndex の level1ViewController の次のコード

場所を思い出すための鍵部分は必要ありません。サンプル コードの両方のコントローラーは同じ名前の NSArray を使用しており、この行を介して L1 アレイを L2 アレイにコピーしているように見えます。

プッシュされたTableViewを使用すると簡単になりますが、IBOutletsで情報をUITextViewにロードするだけではありません。そのため、選択が行われるRootViewコントローラーで配列の割り当てを行う必要があります。RootView Controller で割り当てられた ViolinMaker を保持できれば、詳細でそれを取得できますが、それもわかりません....

私を助けてくれてありがとう、私は本当に立ち往生しています..