問題タブ [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.
animation - カスタム セグエが宛先コントローラーで IBActions を許可しない
ビューを持つ2つのView Controllerがあります。1 つ目はログイン画面で、2 つ目は Web から情報を取得します (関係ありません)。
私はカスタムセグエアニメーションを使用し、スーパービューで奇妙なことをして、sourceViewController.viewをdestinationViewController.viewの(視覚的に)「上」にする必要がありました
これが、2 番目のビューから IBAction メソッドを呼び出そうとすると呼び出されない理由であるとしか思えません。
セグエ クラスの実装は次のとおりです。
私の質問は、スーパービューからソース ビューを削除して、2 番目のビューで IBActions が呼び出される方法を台無しにすることはできますか?
IBAction メソッドは、たとえばボタンを押したときにアプリをクラッシュさせるだけです。
ios - Superview がタッチ操作を受け付けない
サイズが(0,0,320,280)のベースビューAが1つあり、サイズが(100,100,50,50)の別のビューBが含まれ、ビューBには1つのボタンと1つの画像ビュー(C)がサブビューとしてあります。画像ビュー フレームはビュー B と同じで、B の左上隅にボタンが追加されています。
私の要件は、B の右下隅をドラッグすると、そのサイズを増減する必要があることです。
右下隅以外の場所から B をドラッグすると、移動する必要があります。ビュー サイズは変更しないでください。
私の問題は、ビュー B がタッチ アクションを受け取らないことです。
以下のコードを追加しました。私を導いてください。
objective-c - フィットするサイズがまったく機能せず、この明らかなシナリオでは何もしないのはなぜですか
このコード行を調べてみましょう(実際には1つだけが何かを変更します)
結果:
結果から、次のことが明らかです。
- ビューの高さは0です。
- ビューには、高さが10のサブビューがあります
- sizetofitの後、何も変わりません。どうして?
フレームを直接計算することはできますが、これは気になります。
iphone - 特定のビューを除くすべてのスーパービューを無効にする
UIButton クリックで開く UIView があります。この特定のビューとそのサブビューを除く他のすべてのスーパービューのユーザー操作を無効にしたいのですが、どうすればできますか? このビューをユーザーのタッチに応答する唯一のビューにするためです。
ありがとう!
iphone - サブクラス化されたスーパービューにアクセスしますか?
私はUITableView
自分のカスタムで構成されUITableViewCell
、サブクラス化されたを持っていCustomCell
ます。UITextField
そのセルにを追加すると、メソッドが特定のイベントで実行されます(テキストフィールドから)。
このメソッドを実行するときCustomCell
は、テキストフィールドがサブビューであるにアクセスする必要があります。
だから私は、どうすればテキストフィールド(CustomCell
)の親ビューにアクセスできるのだろうと思いました。
私はこれを試し、メソッドの送信者であるテキストフィールドを取得し、そこからスーパービューを取得しました。
ただし、これは失敗します。セルのプロパティにアクセスしようとすると、アプリがクラッシュし、コンソールに次のように表示されます[UIView myLabel]: unrecognized selector sent to instance
。(myLabel
セルでアクセスしようとしているプロパティです。)
なぜこれが機能しないのですか、またはそのセルにアクセスする別の方法がありますか?
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プロパティは、最初のジェスチャが単一のドラッグジェスチャを使用する必要がありますが、終了しました。
助けてくれてありがとう。
iphone - カスタムテーブルビューセルのボタンで行を削除
このように構造が見えます。
。
テーブルビューでは、ボタンのあるカスタムテーブルビューセルを使用しています。これが私のCellForRowAtIndexのボタンのコードです
特定の行を取得するために、deleteAppointmentでこれを実行します
しかし、それでも次のエラーが発生します。
誰か助けてもらえますか?
objective-c - 複数のウィンドウでのビューの操作 - 2 番目のウィンドウを閉じたときの removeFromSuperView の問題
こんにちは、ボタンが押されたときに表示されるビューがあります。これは正常に機能します。2 番目のウィンドウを開くと、ビューは正常に機能し、前のウィンドウに戻って、removeFromSuperview を使用したようにビューを使用できます。
私の問題は、最後に開いたウィンドウを閉じると、最初のウィンドウでビューが機能しなくなりますが、新しいウィンドウを開くと、最初のウィンドウで再び機能します。
ウィンドウの 1 つが閉じられたときにビューを引き続き機能させるにはどうすればよいですか?
ご協力いただきありがとうございます!
私が使用しているコードは次のとおりです。
cocoa - サブビューからビューを削除しても willRemoveSubview は呼び出されない
ユーザーがメニュー項目を選択すると、以前に割り当てられたサブビューコントローラーのセットの1つに切り替わる管理ビューコントローラーがあります。
ビューコントローラーに切り替えると、管理ビューコントローラーのビューをサブビューコントローラーのビューに接続します。
[mvc.view addSubview:subvc.view];
それはすべてうまくいくようです。
ただし、ビュー階層からそのサブ ビュー コントローラーのビューを削除する場合 (たとえば、アプリケーションでページを切り替える場合):
[subvc.view removeFromSuperview];
- カスタム ビュー クラスの willRemoveSubview メソッドは起動しません。removeFromSuperview 呼び出しを行うときに、カスタム ビュー クラスのインスタンスで呼び出していることを確認しました。
ただし、viewWillMoveToWindow など、カスタム ビュー クラスの他のメソッドは起動します。
NSView リファレンス ドキュメントには、このメソッドを呼び出す必要があると書かれていますか?
これが機能しない理由を誰かが提案できますか?
Xcode 4.5.2を使用して10.7用にコンパイルする10.8.2で実行しています
ありがとう
ダレン。
iphone - iOS - アプリがフォアグラウンドに入ると、UITableView のスーパービューが画面を覆う
一連のフィルターを適用している UITableView があります。「フィルター」ボタンをタップすると、ナビゲーションバーの下からフィルターがアニメーション化されます。ここで行っているのは、読み込んだNIBをUITableViewのスーパービューに追加することです。ビューを起動すると、これは完全に機能します。フィルター NIB を表示および非表示にすることができます。ただし、ホームボタンを押してアプリをバックグラウンドに送信した後、アプリを再度起動してフォアグラウンドに移動します。これで、ロードして UITableView のスーパービューにアタッチした NIB が画面を引き継ぎました。テーブルビューはこのビューの下に隠されています。フィルタ NIB を非表示にすることで、ヒットの小さなセクションを確認できます。スーパービューに追加した NIB の高さは 75 ですが、最前面に表示すると、フレームのサイズが 400 を超えていることがわかります。なぜこれがスーパービューで起こっているのかについて、誰かが何か考えを持っていますか? ありがとう
マイコード
スクリーンショット
- フィルターアニメーション前
- フィルター適用後
- バックグラウンドから起動した後 - ここに問題があります。Superview はビュー全体を占有します
- フィルターを非表示にすると、スーパービューの下にテーブルビューが表示されます