問題タブ [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 投票する
2 に答える
31287 参照

iphone - フレームをスーパービューのフレームに設定してプログラムでビューを作成しますか?

カスタム ビューをナビゲーション ビューに配置するナビゲーション ベースのアプリケーションがあります。

まず、「ナビゲーション ビュー」のフレームを取得して、カスタム ビューを適切に配置できるようにする方法を知りたいです。
また、ナビゲーション バーを非表示にして、フレーム情報を正しく取得したい場合もあります。( [[UIScreen mainScreen] 境界] ではありません)

第二に、一般的に、スーパービューのフレームにアクセスして、それに応じてビューを配置するにはどうすればよいですか?
次のことを試しましたが、成功しませんでした。

またはlayoutSubviewsでフレームを設定しましたが、layoutSubviewsが呼び出されていないことに気付きました。この特定のビューにサブビューがないためだと思いますか?

ありがとうございました

-編集-

与えられた答えで、view.frameをスーパービューの境界に設定する必要があることがわかりました。
問題は、viewDidLoad 内のスーパービューにアクセスできないことです。
スーパービューはviewWillAppearでは正しく設定されていますが、viewDidLoadでは設定されていません。

pushViewController によってプッシュされたときや self.view
にアクセスしたときなど、viewDidLoad がさまざまな時点で呼び出されることがわかりました。次のコードがあり、viewDidLoad は nil == controller.view.superview から呼び出されます。

viewDidLoad からスーパービューにアクセスできないため、以前に viewDidLoad で行ったようにビューをレイアウトできません。これはとても不便で、不必要に複雑に思えます。
何か提案はありますか?

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

iphone - プログラムでビューを作成し、スーパービューに従ってフレームを設定するにはどうすればよいですか? (アイフォン)

スーパービュー、loadView()、viewDidLoad()、viewWillAppear()で完全に迷っています。

最終的に、コントローラーのフレームをスーパービューの境界に設定し、viewDidLoad() で [self.view bounds] を利用したいと考えています。(もしかしてこれは無理?)

ここに私に悲しみを与えるコードスニペットがあります..

どうやら、nil == controller.view.superview はコントローラーの viewDidLoad を呼び出します。

以前は [self.view bounds] にアクセスして viewDidLoad 内で使用して
いましたが、スーパービューにビューを追加した後にビューのフレームを設定したいので、[self.view bounds] を使用するコードを別の場所に移動する必要があると思います。
引越し先はどこがいい?または、より良いアプローチはありますか?

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

iphone - サブビューを非表示にせずにスーパービューを非表示にする

一般に、これには回避策があることはわかっていますが、iOS SDK でサブビューを非表示にせずにスーパービューを非表示にする簡単な方法はありますか?

他のいくつかのビューの背景である親ビューがあります。透明度を 0 に設定するか、「非表示」などを設定して、親を非表示にしたいと思います。問題は、これらの変更が親のすべてのサブビューに影響することです。

繰り返しますが、通常はこれを回避する方法があることを認識していますが、この場合は mapView を扱っており、サブビューは注釈とオーバーレイです。

ありがとう -マット

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

iphone - ユーザー定義セルの UITextField とセル ビューの間に非常に多くのコントローラーがある理由

ユーザー定義のセルで UITextField の親ビューを取得したいと思います。私が試したのは、スーパービューメソッドを呼び出すだけで、セルビューではなく UIView を返します。そのため、スーパービューを数回呼び出しました。

UITextField -> UIView -> UITableViewCellContentView -> MyCellView

さらに 2 つの予期しないビューがあります。それらは何ですか、なぜですか?

説明を追加) 私は自分のセルを作成しましたが、UITextField があります。

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

iphone - iPhoneアプリで最高レベルのスーパービューを取得するにはどうすればよいですか?

アプリケーションのメインUIViewを取得できるようにしたい。これまで、私は[[[self.view superview] superview] superview]を呼び出して、チェーンを上に(または、見方によっては下に)トラバースしていました。これに伴う問題は、私が行く必要のあるレベルアップの数を完全に確信できない可能性があるということです。次の方法はありますか?

  1. iPhoneアプリケーションの最高レベルのUIViewに直接移動しますか?

または、そうでない場合は

  1. 現在のスーパービューがアプリの最高レベルのUIViewであるかどうかを確認しますか?
0 投票する
1 に答える
999 参照

iphone - (iphone)スクロールビューからビューを切り離して別のビューに追加するときにview.centerを設定する方法は?

ビューを scrollview から uiview に移動したいと思います。

画面の同じ位置にとどまるように中央(またはフレーム)を変更するのに問題があります(ただし、別のビュー、おそらくスクロールビューのスーパービュー)。

ビューの中心/フレームを変換するにはどうすればよいですか?

ありがとうございました。

編集:

(NSSet*)にいるので、タッチも使用できますtouchesBegan
機能させるのに苦労していましたが、ドキュメントはあまり明確ではありませんでした。

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

cocoa - ビューからボタンを削除する

すべてのボタンのビューをクリアする方法はありますか? 私のコードは毎秒ボタンを生成し、それらをすべて画面から消去したいボタンを作成しました。私が試したとき[brick.removeFromSuperview](ブリックはボタンの名前です)、最後に作成されたボタンのみが削除されました。

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

ios - 現在のビューの親ビューへのアクセス - iOS

UIView現在の親にアクセスしたい場合は、現在UIViewの親のオブジェクトを宣言し、親オブジェクトを現在のビューのオブジェクト プロパティに割り当ててアクセスします。UIViewUIViewUIView

これを取り除き、親ビューのメソッドまたはプロパティを直接呼び出す方法はありますか?

私も試し(parentView *) self.view.superviewましたが、助けにはなりませんでした。

このオブジェクトの関数を次のように呼び出しているときにエラーが発生します

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

objective-c - self.view / super.view

の違いは何ですか

ありがとうございました!!

ふらんふ

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

iphone - (iphone) サブビューのフレームをスーパービューの境界外に設定しますか?

サブビューをスーパービューの境界の外に (部分的または完全に) 配置できることに気付きました。
通常の iphone のビュー プログラミングでは異常なように見えるので、それでよいのだろうか。

ありがとうございました。