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

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


22
UIViewを画像に変換する方法
UIViewを画像に変換してアプリに保存したい。ビューのスクリーンショットを撮る方法、またはビューに画像を変換する方法と、それをアプリ(カメラロールではない)に保存する最良の方法は何ですか?ビューのコードは次のとおりです。 var overView = UIView(frame: CGRectMake(0, 0, self.view.frame.width/1.3, self.view.frame.height/1.3)) overView.center = CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds)-self.view.frame.height/16); overView.backgroundColor = UIColor.whiteColor() self.view.addSubview(overView) self.view.bringSubviewToFront(overView)
94 ios  swift  uiview  screenshot 

4
UIViewバウンスアニメーションを作成する方法
と呼ばれるUIViewの次のCATransitionがありますfinalScoreView。これにより、上から画面に入ります。 CATransition *animation = [CATransition animation]; animation.duration = 0.2; animation.type = kCATransitionPush; animation.subtype = kCATransitionFromBottom; animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; [gameOver.layer addAnimation:animation forKey:@"changeTextTransition"]; [finalScoreView.layer addAnimation:animation forKey:@"changeTextTransition"]; ダウンした後に1回バウンドし、その後静止するようにするにはどうすればよいですか?上から画面に入りますが、画面が下がるとバウンドします。 どんな助けでも感謝します、ありがとう!

8
UIViewの境界を超えた相互作用
UIButtonのフレームがその親のフレームの外側にある場合、UIButton(またはそのほかのコントロール)がタッチイベントを受け取ることは可能ですか?これを試すと、UIButtonがイベントを受信できないようです。これを回避するにはどうすればよいですか?


16
UIViewに影響を与えるすべての制約を削除します
いくつかの制約を介して画面に配置されるUIViewがあります。一部の制約はスーパービューによって所有され、その他の制約は他の祖先によって所有されます(たとえば、UIViewControllerのviewプロパティ)。 これらの古い制約をすべて削除し、新しい制約を使用して新しい場所に配置したいと思います。 すべての制約に対してIBOutletを作成せず、どのビューがその制約を所有しているかを覚えておく必要なしに、これを行うにはどうすればよいですか? 詳述すると、単純なアプローチは、制約ごとにIBOutletsの束を作成し、次のようなコードを呼び出すことです。 [viewA removeConstraint:self.myViewsLeftConstraint]; [viewB removeConstraint:self.myViewsTopConstraint]; [viewB removeConstraint:self.myViewsBottomConstraint]; [self.view removeConstraint:self.myViewsRightConstraint]; このコードの問題は、最も単純な場合でも、2つのIBOutletを作成する必要があることです。複雑なレイアウトの場合、これは4つまたは8つの必要なIBOutletsに簡単に到達する可能性があります。さらに、制約を削除するための呼び出しが適切なビューで呼び出されていることを確認する必要があります。たとえば、myViewsLeftConstraintがによって所有されていると想像してくださいviewA。誤って電話をかけても[self.view removeConstraint:self.myViewsLeftConstraint]、何も起こりません。 注:メソッドconstraintsAffectingLayoutForAxisは有望に見えますが、デバッグのみを目的としています。 アップデート:私は契約を受けています回答の多くはself.constraints、self.superview.constraintsこれらの、またはいくつかの変種。これらのメソッドは、ビューに影響を与える制約ではなく、ビューが所有する制約のみを返すため、これらのソリューションは機能しません。 これらのソリューションの問題を明確にするために、次のビュー階層を検討してください。 祖父 お父さん 私 息子 娘 兄 おじさん ここで、次の制約を作成し、それらを常に最も近い共通の祖先にアタッチするとします。 C0:私:息子と同じトップ(私が所有) C1:私:幅= 100(私が所有) C2:私:ブラザーと同じ高さ(父が所有) C3:私:おじさんと同じトップ(祖父が所有) C4:私:祖父と同じ左(祖父が所有) C5:兄弟:父と同じ左(父が所有) C6:おじさん:おじいさんと同じ左(おじいさんが所有) C7:息子:娘と同じ左(私が所有) ここで、に影響を与えるすべての制約を削除したいとしますMe。適切な解決策は削除する必要が[C0,C1,C2,C3,C4]あり、他には何もありません。 self.constraints(selfがMeである場合)を使用[C0,C1,C7]すると、Meが所有する唯一の制約であるため、が取得されます。明らかに、これが欠落しているため、これを削除するだけでは十分ではありません[C2,C3,C4]。さらに、C7不必要に取り外しています。 私がself.superview.constraints(自己が私である場合)を使用する場合[C2,C5]、それらは父が所有する制約であるため、私は取得します。とC5はまったく関係がないため、明らかにこれらすべてを削除することはできませんMe。 を使用するとgrandfather.constraints、取得し[C3,C4,C6]ます。繰り返しますが、そのC6ままにしておく必要があるため、これらすべてを削除することはできません。 強引なアプローチは、ビューの祖先(それ自体を含む)のそれぞれをループし、ビュー自体であるかどうfirstItemかsecondItemを確認することです。その場合は、その制約を削除します。これにより、正しい解が返され[C0,C1,C2,C3,C4]、が返され、それらの制約のみが返されます。 ただし、祖先のリスト全体をループするよりも、より洗練されたソリューションがあることを望んでいます。

7
iOS内でUIViewをPDFに変換する方法
アプリのでPDFを表示する方法に関するリソースはたくさんありますUIView。私が現在取り組んでいるのは、からPDFを作成することUIViewsです。 例えば、私がしているUIView、Textviewsのようなサブビューで、UILabels、UIImages、ので、どのように私は、変換することができ、大きな UIView PDFにすべてのサブビューとsubsubviews含め全体としての? AppleのiOSリファレンスを確認しました。ただし、テキスト/イメージの一部をPDFファイルに書き込むことについてのみ述べています。 私が直面している問題は、PDFとしてファイルに書き込みたいコンテンツが多いということです。PDFに1つずつ書き込むと、大変な作業になります。だからこそUIViews、PDFやビットマップに書き込む方法を探しています。 Stack Overflow内の他のQ / Aからコピーしたソースコードを試しました。ただし、UIView境界サイズの空白のPDFしか表示されません。 -(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename { // Creates a mutable data object for updating with binary data, like a byte array NSMutableData *pdfData = [NSMutableData data]; // Points the pdf converter to the mutable data object and to the UIView to be converted …

7
iOSの白から透明なグラデーションレイヤーは灰色です
アプリの下部にポップアップ表示されるこの小さな詳細ビューの下部にCAGradientLayerを挿入しています。ご覧のとおり、色を白からクリアに設定しましたが、この奇妙な灰色の色合いが現れています。何か案は? // Set up detail view frame and gradient [self.detailView setFrame:CGRectMake(0, 568, 320, 55)]; CAGradientLayer *layer = [CAGradientLayer layer]; layer.frame = self.detailView.bounds; layer.colors = [NSArray arrayWithObjects:(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor, nil]; layer.startPoint = CGPointMake(1.0f, 0.7f); layer.endPoint = CGPointMake(1.0f, 0.0f); [self.detailView.layer insertSublayer:layer atIndex:0]; 問題のあるビューは次のとおりです。

8
UIViewで線を引く
UIViewで水平線を引く必要があります。それを行う最も簡単な方法は何ですか。たとえば、y-coord = 200で黒い水平線を描画したいとします。 私はInterfaceBuilderを使用していません。
86 ios  iphone  uiview 



10
2017年にIBDesignableを使用して、点線(破線ではありません!)を描画します
UIKitで破線を描くのは簡単です。そう: CGFloat dashes[] = {4, 2}; [path setLineDash:dashes count:2 phase:0]; [path stroke]; 本物の点線を描く方法はありますか? 何か案は? この質問は本当に古く、誰も完全な@IBDesignable解決策を提示していないので、ここにあります... それが誰かのタイピングを節約することを願っています。 @IBDesignable class DottedVertical: UIView { @IBInspectable var dotColor: UIColor = UIColor.etc @IBInspectable var lowerHalfOnly: Bool = false override func draw(_ rect: CGRect) { // say you want 8 dots, with perfect fenceposting: let totalCount …
86 ios  swift  uiview  uikit 

10
UIViewでアルファを設定すると、サブビューにアルファが設定されますが、これは発生しないはずです。
のドキュメントによると UIVIew @property(nonatomic) CGFloat alpha このプロパティの値は、0.0から1.0の範囲の浮動小数点数です。ここで、0.0は完全に透明を表し、1.0は完全に不透明を表します。 この値は現在のビューにのみ影響し、埋め込まれたサブビューには影響しません。 次のように構成されたコンテナービューがあります。 self.myView.backgroundColor = [UIColor blackColor]; self.myView.alpha = 0.5; [self addSubview:self.myView]; 次に、サブビューを「myView」に追加します [myView addSubView anotherView]; anotherView.alpha = 1; NSLog(@"anotherView alpha = %f",anotherView.alpha); // prints 1.0000 as expected しかし、「anotherView」には画面にアルファがあります(予想どおり不透明ではありません) これはどのようにでき、何ができるでしょうか?

4
自動レイアウトを使用してサブビューが動的に変更された後、スーパービューのサイズを変更する
私は神の愛のためにこのサイズ変更のスーパービューのこつを傾けることができません。 私はUIView *superview 4で持っていUILabelsます。2は他の2つのヘッダーとして機能します。 4つすべてのコンテンツは、データベースから動的に取得されます。 SizeToFitvs SizeThatFits:(CGSize)vs UIView systemLayoutSizeFittingSize:、UILayoutFittingCompressedSizeまたはのいずれかを渡しますUILayoutFittingExpandedSize。 プログラムで自動レイアウトを使用し、スーパービューの高さをダミーの数値以上に設定しました。 どこで、どのように私はこれらを使用しないSizeToFit対sizeThatFits:(CGSize)対UIView systemLayoutSizeFittingSize:のいずれか渡し、UILayoutFittingCompressedSizeまたはUILayoutFittingExpandedSize。私はここでスタックで多くのヒントを読みましたが、結局何もありませんでした。 特定の場所でスーパービューの制約を再計算する必要がありますか?Mabyは、コントローラークラスで高さを「@property」に設定し、それを削除して読み取りましたか?Atm私はすべてをどこにでも置いてからいくつかを入れようとしました。それでも、ダミーの高さとテキストが外側に浮いている状態で、同じサイズの最終結果が得られます。サブビューでclipsToBoundを設定した後でも。 私は私の髪を引っ掻いています..助けて

6
masksToBounds = YESがCALayerシャドウを防ぐのはなぜですか?
次のスニペットを使用して、UIViewの1つにドロップシャドウ効果を追加しています。これはかなりうまく機能します。しかし、ビューのmasksToBoundsプロパティをYESに設定するとすぐに。ドロップシャドウ効果は表示されなくなりました。 self.myView.layer.shadowColor = [[UIColor blackColor] CGColor]; self.myView.layer.shadowOpacity = 1.0; self.myView.layer.shadowRadius = 10.0; self.myView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); self.myView.layer.cornerRadius = 5.0; self.myView.layer.masksToBounds = YES; // <-- This is causing the Drop shadow to not be rendered UIBezierPath *path = [UIBezierPath bezierPathWithCurvedShadowForRect:self.myView.bounds]; self.myView.layer.shadowPath = path.CGPath; self.myView.layer.shouldRasterize = YES; これについて何かアイデアはありますか?

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