0

何らかの理由で、UIButtons もすべて削除しないと UIImageView を削除できないようです。すべてのサブビューがメイン ビュー _ourView に追加され、UIButtons にはタグ (デフォルト 0) が与えられず、イメージには tag=5 が与えられました。

電話すると

NSInteger o = [obj intValue]; //This is the letter "O" not 0, and o = 5 in this case (which is what my subview tag is)
UIView *hangmanView = [_ourView viewWithTag:o];
[hangmanView removeFromSuperview];
[_ourView setNeedsDisplay];

私のボタンもすべて消えます。

ポインタはありますか?

編集: もっとコードを見たい場合は、プロジェクトを github にアップロードしました。ファイルへのリンクは次のとおりです: https://github.com/elayman/Hangman/blob/master/Hangman/HangmanViewController.m#L172

4

3 に答える 3

1

ボタンを画像ビューに追加したか、そのタグに一致するビューがボタンのスーパービューです。

デバッガーで、タグの値 (思っているものとは異なる場合があります) と、viewWithTag によって返されるビューを確認してください。

とにかく、ほとんどの場合、タグは役に立ちません。アウトレットまたはアウトレット コレクションを使用しない理由は、はるかに明確で読みやすいからです。

于 2012-10-04T06:26:12.257 に答える
0

0 はタグのデフォルトです...そのため、タグのない最初のビューを取得しますが、それはおそらくあなたが望むものではありません.

実際に何が起こっているかを確認できるように、削除したものをログに記録します。

NSLog(@"removing %@", hangmanView)
于 2012-10-04T06:40:24.433 に答える
0

スーパービューにボタンを追加した後にボタンを誤って離したため、setNeedsDisplay の後にボタンが消えていたことがわかりました。ご協力いただきありがとうございます。私は目的の c を初めて使用し、addSubview メッセージが subView の制御を superView に与えると考えました。

于 2012-10-06T00:16:19.590 に答える