2016-12-21 12 views
0

私は、scrollViewを動的に作成し、それに関連付けられたページコントロールを持っています。これらのボタンはスクロールビューに動的に追加されています。最初のページに追加されている場合、一部のボタンは表示されませんが、スクロールビューに追加されています。UICageViewでUIButtonViewにUIBageViewが表示されない - Swift 3

UIScrollViewフレーム= CGRect(x:0、y:0、width:340、height:150) scrollView.contentSize = CGSize(width:scrollView.frame.size.width * CGFloat(page)、height:scrollView .frame.size.height)

私の場合、コンテンツの幅は680です。 ビューをスクロールすると、スクロールビューのコンテンツオフセットは340ですが、不可視なボタンcontentSize内にある場合、ボタンはまだ表示されません。

ボタンの枠は表示されません。

<UIButton: 0x7ffdf0f26bb0; frame = (355 10; 62 32); opaque = NO; layer = <CALayer: 0x610000030840>>, 
<UIButton: 0x7ffdf0f27110; frame = (427 10; 98 32); opaque = NO; layer = <CALayer: 0x610000030960>>, 
<UIButton: 0x7ffdf0f27670; frame = (535 10; 112 32); opaque = NO; layer = <CALayer: 0x610000030a80>> 

ページコントロールに関しては、ページコントロールを削除しても、スクロールビューでも同じように表示されます。 スクロールビューに固有のものを確認する必要があるかどうかわかりません。

@IBAction func changePage(sender: UIPageControl) ->() { 
     let x = CGFloat(pageControl.currentPage + 1) * scrollView.frame.size.width 
     scrollView.setContentOffset(CGPoint(x: x,y :scrollView.frame.size.height), animated: true) 
    } 

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 
     let pageNumber = round(scrollView.contentOffset.x/scrollView.frame.size.width) 
     pageControl.currentPage = Int(pageNumber) 
    } 

答えて

0

問題は、私は、

拡張のUIViewこの問題を引き起こしたscrollViewの角を丸めるために拡張機能を使用していたページ制御またはscrollviewではありませんでした{

func roundCorners(corners:UIRectCorner, radius: CGFloat) { 
    let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius)) 
    let mask = CAShapeLayer() 
    mask.path = path.cgPath 
    self.layer.mask = mask 
}} 

Iレイヤーにマスクを追加すると、なぜscrollViewが邪魔になったのかまだ分かりません。

関連する問題