問題タブ [superview]

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 投票する
1 に答える
277 参照

animation - カスタム セグエが宛先コントローラーで IBActions を許可しない

ビューを持つ2つのView Controllerがあります。1 つ目はログイン画面で、2 つ目は Web から情報を取得します (関係ありません)。

私はカスタムセグエアニメーションを使用し、スーパービューで奇妙なことをして、sourceViewController.viewをdestinationViewController.viewの(視覚的に)「上」にする必要がありました

これが、2 番目のビューから IBAction メソッドを呼び出そうとすると呼び出されない理由であるとしか思えません。

セグエ クラスの実装は次のとおりです。

私の質問は、スーパービューからソース ビューを削除して、2 番目のビューで IBActions が呼び出される方法を台無しにすることはできますか?

IBAction メソッドは、たとえばボタンを押したときにアプリをクラッシュさせるだけです。

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

ios - Superview がタッチ操作を受け付けない

サイズが(0,0,320,280)のベースビューAが1つあり、サイズが(100,100,50,50)の別のビューBが含まれ、ビューBには1つのボタンと1つの画像ビュー(C)がサブビューとしてあります。画像ビュー フレームはビュー B と同じで、B の左上隅にボタンが追加されています。

私の要件は、B の右下隅をドラッグすると、そのサイズを増減する必要があることです。

右下隅以外の場所から B をドラッグすると、移動する必要があります。ビュー サイズは変更しないでください。

私の問題は、ビュー B がタッチ アクションを受け取らないことです。

以下のコードを追加しました。私を導いてください。

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

objective-c - フィットするサイズがまったく機能せず、この明らかなシナリオでは何もしないのはなぜですか

このコード行を調べてみましょう(実際には1つだけが何かを変更します)

結果:

結果から、次のことが明らかです。

  1. ビューの高さは0です。
  2. ビューには、高さが10のサブビューがあります
  3. sizetofitの後、何も変わりません。どうして?

フレームを直接計算することはできますが、これは気になります。

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

iphone - 特定のビューを除くすべてのスーパービューを無効にする

UIButton クリックで開く UIView があります。この特定のビューとそのサブビューを除く他のすべてのスーパービューのユーザー操作を無効にしたいのですが、どうすればできますか? このビューをユーザーのタッチに応答する唯一のビューにするためです。

ありがとう!

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

iphone - サブクラス化されたスーパービューにアクセスしますか?

私はUITableView自分のカスタムで構成されUITableViewCell、サブクラス化されたを持っていCustomCellます。UITextFieldそのセルにを追加すると、メソッドが特定のイベントで実行されます(テキストフィールドから)。

このメソッドを実行するときCustomCellは、テキストフィールドがサブビューであるにアクセスする必要があります。

だから私は、どうすればテキストフィールド(CustomCell)の親ビューにアクセスできるのだろうと思いました。

私はこれを試し、メソッドの送信者であるテキストフィールドを取得し、そこからスーパービューを取得しました。

ただし、これは失敗します。セルのプロパティにアクセスしようとすると、アプリがクラッシュし、コンソールに次のように表示されます[UIView myLabel]: unrecognized selector sent to instance。(myLabelセルでアクセスしようとしているプロパティです。)

なぜこれが機能しないのですか、またはそのセルにアクセスする別の方法がありますか?

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

ios - ドラッグタッチをUIScrollViewスーパービューに伝播します

UIGestureRecognizersを使用して、hitTest:withEvent、pointInside:withEvent:などを使用して、ここで他のすべての同様のトピックを探してきましたが、達成する必要があることには何も問題がないようです。

基本的に、メインビュー(一般的なUIViewControllerのself.view)と、下部に小さな長方形のUIScrollViewがアタッチされています。scrollViewはいくつかのUIImageViewで埋められており、ユーザーは通常どおりスクロールできます。

ただし、ユーザーは1つのUIImageView(またはそのコピー)をUIScrollViewからメインビューにドラッグできる必要があります。これは、同じドラッグジェスチャを使用して非常に難しいと感じているため、次の方法が必要です。

1)通常のUIScrollViewで処理する必要がある通常の水平スクロールジェスチャと、画像ビュー上でのドラッグジェスチャを区別します。

2)ドラッグジェスチャが識別されたら、タッチをスーパービューに伝播する必要があります。スーパービューはUIImageViewのコピーをホストし、同じドラッグジェスチャを使用して、UIScrollViewの境界外でもメインビュー上でドラッグを続行します。

UIScrollViewにuserInteractionEnabled=NOがある場合、タッチはサブビューに伝播されますが、1)サブビューではなくスーパービューに伝播したい、2)userInteractionEnabledプロパティは、最初のジェスチャが単一のドラッグジェスチャを使用する必要がありますが、終了しました。

助けてくれてありがとう。

0 投票する
3 に答える
3787 参照

iphone - カスタムテーブルビューセルのボタンで行を削除

このように構造が見えます。

テーブルビューでは、ボタンのあるカスタムテーブルビューセルを使用しています。これが私のCellForRowAtIndexのボタンのコードです

特定の行を取得するために、deleteAppointmentでこれを実行します

しかし、それでも次のエラーが発生します。

誰か助けてもらえますか?

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

objective-c - 複数のウィンドウでのビューの操作 - 2 番目のウィンドウを閉じたときの removeFromSuperView の問題

こんにちは、ボタンが押されたときに表示されるビューがあります。これは正常に機能します。2 番目のウィンドウを開くと、ビューは正常に機能し、前のウィンドウに戻って、removeFromSuperview を使用したようにビューを使用できます。

私の問題は、最後に開いたウィンドウを閉じると、最初のウィンドウでビューが機能しなくなりますが、新しいウィンドウを開くと、最初のウィンドウで再び機能します。

ウィンドウの 1 つが閉じられたときにビューを引き続き機能させるにはどうすればよいですか?

ご協力いただきありがとうございます!

私が使用しているコードは次のとおりです。

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

cocoa - サブビューからビューを削除しても willRemoveSubview は呼び出されない

ユーザーがメニュー項目を選択すると、以前に割り当てられたサブビューコントローラーのセットの1つに切り替わる管理ビューコントローラーがあります。

ビューコントローラーに切り替えると、管理ビューコントローラーのビューをサブビューコントローラーのビューに接続します。

[mvc.view addSubview:subvc.view];

それはすべてうまくいくようです。

ただし、ビュー階層からそのサブ ビュー コントローラーのビューを削除する場合 (たとえば、アプリケーションでページを切り替える場合):

[subvc.view removeFromSuperview];

  • カスタム ビュー クラスの willRemoveSubview メソッドは起動しません。removeFromSuperview 呼び出しを行うときに、カスタム ビュー クラスのインスタンスで呼び出していることを確認しました。

ただし、viewWillMoveToWindow など、カスタム ビュー クラスの他のメソッドは起動します。

NSView リファレンス ドキュメントには、このメソッドを呼び出す必要があると書かれていますか?

これが機能しない理由を誰かが提案できますか?

Xcode 4.5.2を使用して10.7用にコンパイルする10.8.2で実行しています

ありがとう

ダレン。

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

iphone - iOS - アプリがフォアグラウンドに入ると、UITableView のスーパービューが画面を覆う

一連のフィルターを適用している UITableView があります。「フィルター」ボタンをタップすると、ナビゲーションバーの下からフィルターがアニメーション化されます。ここで行っているのは、読み込んだNIBをUITableViewのスーパービューに追加することです。ビューを起動すると、これは完全に機能します。フィルター NIB を表示および非表示にすることができます。ただし、ホームボタンを押してアプリをバックグラウンドに送信した後、アプリを再度起動してフォアグラウンドに移動します。これで、ロードして UITableView のスーパービューにアタッチした NIB が画面を引き継ぎました。テーブルビューはこのビューの下に隠されています。フィルタ NIB を非表示にすることで、ヒットの小さなセクションを確認できます。スーパービューに追加した NIB の高さは 75 ですが、最前面に表示すると、フレームのサイズが 400 を超えていることがわかります。なぜこれがスーパービューで起こっているのかについて、誰かが何か考えを持っていますか? ありがとう

マイコード

スクリーンショット

  1. フィルターアニメーション前
  2. フィルター適用後
  3. バックグラウンドから起動した後 - ここに問題があります。Superview はビュー全体を占有します
  4. フィルターを非表示にすると、スーパービューの下にテーブルビューが表示されます

フィルターアニメーション前

フィルター適用後

バックグラウンド起動後

フィルターを非表示にすると、スーパービューの下に UiTableView が表示されます