添加到 Stackview 子视图的 CAShapeLayers 仅在一个子视图上呈现

伊克丘库·亨利·奥多

calorieViewtimeView预期显示黑色圆圈。但是distanceView正在显示预期的黑色圆圈。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a
        let allViews: [UIView] = [distanceView, calorieView, timeView]
        let stackView = UIStackView(arrangedSubviews: allViews)
        stackView.frame = view.frame
        stackView.axis = .vertical
        stackView.distribution = .fillEqually
        stackView.spacing = 0
        let y1 = CGFloat(0)
        let y2 = view.frame.height / 3
        let y3 = y2 * 2
        distanceView.frame = CGRect(x: 0, y: y1, width: view.frame.width, height: y2)
        calorieView.frame = CGRect(x: 0, y: y2, width: view.frame.width, height: y2)
        timeView.frame = CGRect(x: 0, y: y3, width: view.frame.width, height: y2)
        distanceView.layer.addSublayer(self.createViewLayer(localView:    distanceView))
        calorieView.layer.addSublayer(self.createViewLayer(localView: calorieView))
        timeView.layer.addSublayer(createViewLayer(localView: timeView))
        view.addSubview(stackView)

    }


    func createCircleLayer(center: CGPoint, radius: CGFloat, clockWise:Bool) -> CAShapeLayer {
        let shapeLayer = CAShapeLayer()

        let path = UIBezierPath
         (arcCenter: center, radius: radius, startAngle: 0,
         endAngle: 2 *     CGFloat.pi, clockwise: clockWise)
        shapeLayer.path = path.cgPath

        return shapeLayer
    }

    func createViewLayer(localView: UIView) -> CAShapeLayer {
        print(localView)
        var viewLayer = CAShapeLayer()
        viewLayer.frame = localView.frame
        let center = localView.center
        print(center)
        let radius = localView.frame.height / 3
        let isClockwise = true
        viewLayer = self.createCircleLayer
        (center: center, radius: radius, clockWise: isClockwise)
        return viewLayer
    }

}
拉迪斯拉夫

你做错的是y为你的视图设置坐标,基本上是做垂直UIStackView做的工作

当使用堆栈视图所有视图应该xy坐标设置为0,0,因为这将是最多UIStackView到位置arrangedViews根据它的设置。

只需更改您的框架以使用origin = (0,0)或不使用UIStackView并使用计算出的y坐标...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在StackView的子视图内的视图中添加约束

来自分类Dev

添加一个子视图,该子视图是超级视图的一半

来自分类Dev

将子视图添加到UIScrollView

来自分类Dev

将子视图添加到UITableViewCell

来自分类Dev

将子视图添加到视图会保留一个周期吗?

来自分类Dev

将一个子视图添加到在Storyboard中从nib加载的自定义类UIViewController中

来自分类Dev

stackview动画-排列的子视图的折叠

来自分类Dev

以编程方式在 stackView 中布置子视图

来自分类Dev

将子视图添加到UIWebView的内部滚动视图

来自分类Dev

将子视图添加到模糊视图

来自分类Dev

只需单击按钮,即可将子视图仅添加到一个UICollectionViewCell中

来自分类Dev

当父视图在 StackView 中时 UIView 的子视图错位

来自分类Dev

iOS-将子视图添加到子视图控制器视图

来自分类Dev

将子视图添加到UITextView并使用自动布局

来自分类Dev

将子视图控制器添加到UINavigationController

来自分类Dev

如何在Android中将子视图添加到ImageView

来自分类Dev

将子视图添加到cell.contentView

来自分类Dev

将图像添加到我的UIButton子视图

来自分类Dev

Xcode将子级添加到容器视图

来自分类Dev

以编程方式将子视图添加到UIStackView

来自分类Dev

将子视图添加到自定义类

来自分类Dev

重复将子视图添加到UITableViewCell中

来自分类Dev

将UIImageView添加到子视图中

来自分类Dev

将子视图动态添加到 ScrollView

来自分类Dev

将 UITapGestureRecognizer 添加到 tableViewCell 上的子视图

来自分类Dev

我无法将子视图添加到 UItableviewcell

来自分类Dev

UIButton 未添加到子视图 swift

来自分类Dev

在添加另一个子视图之前等待一个 addSubview 成功

来自分类Dev

将子视图添加到两个布局(多个父视图)

Related 相关文章

  1. 1

    如何在StackView的子视图内的视图中添加约束

  2. 2

    添加一个子视图,该子视图是超级视图的一半

  3. 3

    将子视图添加到UIScrollView

  4. 4

    将子视图添加到UITableViewCell

  5. 5

    将子视图添加到视图会保留一个周期吗?

  6. 6

    将一个子视图添加到在Storyboard中从nib加载的自定义类UIViewController中

  7. 7

    stackview动画-排列的子视图的折叠

  8. 8

    以编程方式在 stackView 中布置子视图

  9. 9

    将子视图添加到UIWebView的内部滚动视图

  10. 10

    将子视图添加到模糊视图

  11. 11

    只需单击按钮,即可将子视图仅添加到一个UICollectionViewCell中

  12. 12

    当父视图在 StackView 中时 UIView 的子视图错位

  13. 13

    iOS-将子视图添加到子视图控制器视图

  14. 14

    将子视图添加到UITextView并使用自动布局

  15. 15

    将子视图控制器添加到UINavigationController

  16. 16

    如何在Android中将子视图添加到ImageView

  17. 17

    将子视图添加到cell.contentView

  18. 18

    将图像添加到我的UIButton子视图

  19. 19

    Xcode将子级添加到容器视图

  20. 20

    以编程方式将子视图添加到UIStackView

  21. 21

    将子视图添加到自定义类

  22. 22

    重复将子视图添加到UITableViewCell中

  23. 23

    将UIImageView添加到子视图中

  24. 24

    将子视图动态添加到 ScrollView

  25. 25

    将 UITapGestureRecognizer 添加到 tableViewCell 上的子视图

  26. 26

    我无法将子视图添加到 UItableviewcell

  27. 27

    UIButton 未添加到子视图 swift

  28. 28

    在添加另一个子视图之前等待一个 addSubview 成功

  29. 29

    将子视图添加到两个布局(多个父视图)

热门标签

归档