2016-08-16 3 views
0

私はSwift 2.2でカスタムコンポーネントを作成しようとしています。私の見解はフレームrectを無視します。その後、ビューは、フレーム四角形を無視し、そして - 私はプログラム的にそれをサブクラス化せずに、UIViewのかUicontrolのを追加した場合でも、実際にはUIView/UIControlはフレームrectを無視します。常にフルスクリーン

let arrowControl = ArrowControl(frame: CGRect(x: 100 , y: 100, width: 300, height: 300)) 
self.view.addSubview(arrowControl) 

:含むビューで

、私はこのようなプログラムでビューを追加します画面全体を占有します。私は私の例を変更し、renderComponentを削除すると、私はまだ同じ問題を取得

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
} 


override init(frame: CGRect) { 
    super.init(frame: frame) 
} 


override func layoutSubviews() { 
    super.layoutSubviews() 
    renderComponent(frame) 
} 

EDIT >>>>

:ここ

は私のカスタムビューの不可欠な部分です。

override func layoutSubviews() { 
    super.layoutSubviews() 
    self.clipsToBounds = true 
    backgroundColor = UIColor.yellowColor() 
// renderComponent(self.frame) 
} 

たり、次の操作を行って、フレーム四角形を無視し、私の色のフルスクリーンブロックを与える:

let test = UIView(frame: CGRect(x: 100 , y: 100, width: 300, height: 300)) 
test.backgroundColor = UIColor.redColor() 
self.view.addSubview(test) 
+0

あなたのrenderComponentメソッドは何をしていますか? clipToboundsプロパティまたはmarkToBoundプロパティをtrueに設定して、それが役立つかどうかを調べることができます。 – Surely

+0

私の例を変更してrenderComponentを削除しても、同じ問題が発生します。上の質問の編集を参照してください。 –

答えて

0

いやはや!私はそれを取り除いた。私が自分の責任であることが判明しました。私は包含ビューで次のように実装しました。

関連する問題