タグ付けされた質問 「uiview」

UIViewは、iOSのUIKitフレームワークのクラスで、画面上の長方形の領域と、その領域のコンテンツを管理するためのインターフェイスを定義します。すべてのUI要素は、UIViewのサブクラスであるか、UIView内に含まれています。

18
popViewControllerの完了ブロック
を使用してモーダルビューコントローラーを閉じる場合dismissViewController、完了ブロックを提供するオプションがあります。同様の同等物はありpopViewControllerますか? 完了の引数は非常に便利です。たとえば、モーダルが画面から消えるまでテーブルビューから行を削除するのを保留して、ユーザーに行のアニメーションを表示させることができます。プッシュされたビューコントローラーから戻るときも同じ機会が欲しいです。 アニメーションブロックに配置popViewControllerしてみましたUIViewが、完了ブロックにアクセスできます。ただし、これにより、ポップされるビューに不要な副作用が生じます。 そのような方法が利用できない場合、いくつかの回避策は何ですか?

8
影の広がりとぼかしを制御する方法は?
私はスケッチでUI要素を設計しましたが、そのうちの1つにぼかし1と広がり0の影があります。ビューのレイヤープロパティのドキュメントを調べましたが、レイヤーには広がりまたはぼかし、または同等の名前の付いたものはありません(唯一のコントロールは単にshadowOpacity)ぼかしや広がりなどをどのように制御できますか? 編集: ここに私のスケッチの設定があります: そして、これは私が私の影をどのように見せたいかです: 現時点での表示は次のとおりです。注:実際に影を表示するには、画像をクリックする必要があります。 私のコードは次のとおりです: func setupLayer(){ view.layer.cornerRadius = 2 view.layer.shadowColor = Colors.Shadow.CGColor view.layer.shadowOffset = CGSize(width: 0, height: 1) view.layer.shadowOpacity = 0.9 view.layer.shadowRadius = 5 }


7
UIViewにxibファイルをロードする方法
私はあらゆる場所を検索してきましたが、今のところ何も役に立っていません。 基本的に、rootView.xibという.xibファイルを作成し、その中に画面の半分しか占めないUIView(containerViewと呼びます)を作成します(通常のビューと新しいビューがあります)。次に、firstView.xibという別の.xibファイルが必要で、それをcontainerView内にロードします。そのため、firstView.xibにたくさんのものを、rootView.xibにたくさんのさまざまなものを置き、rootView.xibのcontainerView内にfirstView.xibをロードできますが、画面の半分しか占めないので、 rootView.xib上のもの
111 ios  objective-c  uiview  xib 

2
clipsToBoundsはどのように機能しますか?
UIView物件の使い方を知りたいclipsToBounds。 公式ドキュメントには次のように書かれています: clipsToBounds 財産 サブビューがビューの境界に限定されるかどうかを決定するブール値。 議論は、 この値を設定するYES受信機の境界にクリップさせるのサブビュー。に設定するとNO、フレームがレシーバーの可視境界を超えて伸びるサブビューはクリップされません。デフォルト値はNOです。 しかし、これが正確に何を意味するのかは不明です。どのように使用すべきclipsToBoundsですか?このプロパティをYES正確に設定するとどうなりますか?それともNO?
110 ios  uiview  uikit  frame  bounds 

7
UIViewにドロップシャドウを追加する最良の方法は何ですか
互いに重なっているビューにドロップシャドウを追加しようとしています。ビューが折りたたまれて、他のビューのコンテンツが表示されます。このview.clipsToBoundsため、ビューを折りたたむとコンテンツがクリップされるように、オンのままにしておきます。 これにより、レイヤーにドロップシャドウを追加することが難しくなったようですclipsToBounds。オンにすると、シャドウもクリップされるためです。 私が操作しようとしているview.frameとview.bounds私はこれとは運を持っていなかったが、フレームにドロップシャドウを追加しますが、境界は、それを包囲するのに十分大きなことを可能にするために。 シャドウを追加するために使用しているコードは次のとおりです(これはclipsToBounds図のようにOFFでのみ機能します) view.clipsToBounds = NO; view.layer.shadowColor = [[UIColor blackColor] CGColor]; view.layer.shadowOffset = CGSizeMake(0,5); view.layer.shadowOpacity = 0.5; 以下は、一番上の灰色のレイヤーに適用されている影のスクリーンショットです。うまくいけば、clipsToBoundsOFFの場合にコンテンツがどのように重複するかがわかります。 シャドウを追加しUIViewてコンテンツをクリップしたままにするにはどうすればよいですか? 編集:シャドウをオンにした背景画像の使用も試してみましたが、これはうまく機能しますが、これに最適なコード化されたソリューションを知りたいと思っています。

17
「View Controllerから」はUIViewControllerContextTransitioningを使用して消えます
1つの問題が発生しました。以下で説明します。 UIViewControllerContextTransitioningカスタムトランジションに使用しています。 2つのビューコントローラー、最初のビューコントローラーと2番目のビューコントローラーがあります。 次に、アニメーション付きの最初のビューコントローラーに2番目のビューコントローラーを追加します。私はそれを達成しました。2番目のビューコントローラーは透明になり、2番目のビューコントローラーの下に最初のビューコントローラーが表示されます。 しかし、最初のビューコントローラーが表示されず、2番目のビューコントローラーの下に黒い画面しか表示されません。 -(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{ self.transitionContext = transitionContext; if(self.isPresenting){ [self executePresentationAnimation:transitionContext]; } else{ [self executeDismissalAnimation:transitionContext]; } } -(void)executePresentationAnimation:(id<UIViewControllerContextTransitioning>)transitionContext{ UIView* inView = [transitionContext containerView]; UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; CGRect offScreenFrame = inView.frame; offScreenFrame.origin.y = inView.frame.size.height; toViewController.view.frame = offScreenFrame; toViewController.view.backgroundColor = [UIColor clearColor]; fromViewController.view.backgroundColor = …

2
UIViewのsetNeedsLayout、layoutIfNeeded、layoutSubviewsの関係は何ですか?
とメソッドの関係について明確な説明UIView's setNeedsLayoutはlayoutIfNeededありlayoutSubviewsますか?そして、3つすべてが使用される実装例。ありがとう。 混乱しているのは、カスタムビューにsetNeedsLayoutメッセージを送信するとlayoutSubviews、このメソッドの後に呼び出される次のメッセージがスキップされてlayoutIfNeededしまうことです。ドキュメントから、フローがsetNeedsLayout> layoutIfNeeded呼び出される原因>呼び出される原因となることが予想layoutSubviewsされます。
105 iphone  xcode  uiview 

8
いつレイアウト制約をアクティブ化/非アクティブ化できますか?
IBで複数の制約セットを設定しましたが、状態によってプログラムでそれらを切り替えたいのですが。ありますconstraintsAIBからインストールとしてマークされているすべてのそれらの出口コレクションは、およびconstraintsBすべての出口コレクションは、IBにアンインストールされます。 次のように、プログラムで2つのセットを切り替えることができます。 NSLayoutConstraint.deactivateConstraints(constraintsA) NSLayoutConstraint.activateConstraints(constraintsB) しかし... いつそれをするべきかわからない。で一度はできるはずですが、うまくviewDidLoadいきません。私は呼び出ししようとしたview.updateConstraints()とview.layoutSubviews()制約を設定した後、しかし無駄に。 viewDidLayoutSubviewsすべてに制約を設定すると、期待どおりに機能することがわかりました。2つのことを知りたいと思います... なぜこの動作になるのですか? viewDidLoadから制約をアクティブ化/非アクティブ化することは可能ですか?


8
CALayersは、UIViewの境界変更でサイズ変更されませんでした。どうして?
私はその層に追加されたUIView約8つの異なるCALayerサブレイヤーを持っています。場合、私はビューの境界を変更する(アニメーション)、その後、ビュー自体は(私がそれをチェックする縮小backgroundColor)が、サブレイヤ大きさは変わりません。 これを解決するには?

6
UIViewサブクラスのNibをロードする正しい方法
この質問が以前に尋ねられたことは承知していますが、答えは矛盾していて混乱していますので、私を怒らせないでください。 UIViewアプリ全体で再利用可能なサブクラスを使用したいと考えています。nibファイルを使用してインターフェイスを記述したいと思います。 ここで、アクティビティインジケーターを含む読み込みインジケータービューであるとしましょう。いくつかのイベントで、このビューをインスタンス化し、ビューコントローラーのビューにアニメーション化したいと思います。プログラムでビューのインターフェイスを問題なく説明し、要素をプログラムで作成し、フレームをinitメソッド内に設定することなどができます。 どうすればnibを使用してこれを行うことができますか?フレームを設定せずに、インターフェイスビルダーで指定されたサイズを維持します。 私はなんとかこうやってそれをすることができました、しかし私はそれが間違っていると確信しています(それはその中にピッカーを持つ単なるビューです): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } しかし、私は自分を上書きしています。それをインスタンス化すると、次のようになります。 FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …

10
iOSアプリケーションの最上位のビュー/ウィンドウへの参照を取得する
iOSアプリケーションで通知を表示するための再利用可能なフレームワークを作成しています。UIAlertViewのように、通知ビューをアプリケーションの他のすべての上に追加したいのですが。NSNotificationイベントをリッスンし、それに応答してビューを追加するマネージャーを初期化するとき、アプリケーションの最上位のビューへの参照を取得する必要があります。これは私が現在持っているものです: _topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject]; これはどのiOSアプリケーションでも機能しますか、それともトップビューを取得するためのより安全で優れた方法ですか?

7
サブビューがビュー内にあるかどうかを確認する
で使用するビューにサブビューを追加するアプリを作成しaddSubview:ていIBActionます。同じように、そのボタンIBActionが再度タッチremoveFromSuperviewされたときに、その上に追加されたサブビューを呼び出す必要がありますIBAction。 疑似コード -(IBAction)showPopup:(id)sender { System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate]; UIView *rootView = delegate.window.rootViewController.view; if([self popoverView] is not on rootView) { [rootView addSubview:[self popoverView]]; } else { [[self popoverView] removeFromSuperview]; } }

7
スーパービューのスーパービューに対するUIViewの位置を取得します
UIButtonを配置したUIViewがあります。それらのUIButtonの位置を見つけたいのですが。 私はそれbuttons.frameが私にポジションを与えることを承知していますが、それは私に直接の監督に関してのみポジションを与えます。 UIButtonsスーパービューのスーパービューに関して、これらのボタンの位置を見つける方法はありますか? たとえば、「firstView」という名前のUIViewがあるとします。 次に、「secondView」という別のUIViewがあります。この「SecondView」は「firstView」のサブビューです。 次に、「secondView」のサブビューとしてUIButtonがあります。 ->UIViewController.view --->FirstView A ------->SecondView B ------------>Button では、「firstView」を基準にして、UIButtonの位置を見つける方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.