UICollectionViewのwidthの取得方法をご教示ください。
■開発環境:Swift5, Xcode11.5
■ライブラリ:XLPagerTabStrip
XLPagerTabStripのライブラリを使ってタブ形の横スクロールメニューを作っており、そのタブメニューに下線を付けたいと思っています。
(タブメニュー全体の横幅 > スマホの画面横幅 です)
以下のようなextensionを作成して下線を引けるようにしてみたのですが、self.frame.width
だとスマホ画面の横幅分しか下線が引かれないため、タブメニューを横スクロールすると下線が切れてしまいます。
swift
1extension CALayer { 2 func addBorder(edge: UIRectEdge, color: UIColor, thickness: CGFloat) { 3 let border = CALayer() 4 5 switch edge { 6 case UIRectEdge.top: 7 border.frame = CGRect(x: 0, y: 0, width: self.frame.width, height: thickness) 8 break 9 case UIRectEdge.bottom: 10 border.frame = CGRect(x: 0, y: self.frame.height - thickness, width: self.frame.width, height: thickness) 11 break 12 case UIRectEdge.left: 13 border.frame = CGRect(x: 0, y: 0, width: thickness, height: self.frame.height) 14 break 15 case UIRectEdge.right: 16 border.frame = CGRect(x: self.frame.width - thickness, y: 0, width: thickness, height: self.frame.height) 17 break 18 default: 19 break 20 } 21 22 border.backgroundColor = color.cgColor; 23 self.addSublayer(border) 24 } 25}
スクロールした分も含めてタブメニュー全体の横幅を取得する方法はありますでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/05 12:08