gpt4 book ai didi

ios - 如何仅在设置parentView frame时设置 subview 的frame?

转载 作者:行者123 更新时间:2023-11-28 05:44:48 25 4
gpt4 key购买 nike

基本上,我正在创建一个 Tinder 式布局,其中 UIViews 堆叠在彼此之上。为了在圆形 UIView 后面获得阴影,我创建了一个名为 MainSwipeCardView 的自定义 UIView,它由两个 View 组成。一个叫做 SwipeCardView,它后面是一个 ShadowView。然后我依次创建 MainSwipeCardView 的实例并设置它的框架。

   func addCardFrame(index: Int, cardView: MainSwipeCardView){
cardsView.append(cardView)

var cardViewFrame = bounds
let horizontalInset = (CGFloat(index) * self.horizontalInset)
let verticalInset = CGFloat(index) * self.verticalInset

cardViewFrame.size.width -= 2 * horizontalInset
cardViewFrame.origin.x += horizontalInset
cardViewFrame.origin.y += verticalInset
cardView.frame = cardViewFrame
}

框架根据卡片的索引设置。顶部的将是最大的,然后底部的将有一些水平和垂直的插图等。

如您所见,我正在设置 cardView.frame = cardViewFrame - cardViewFrame 是我们在上面计算的框架。然而,问题是 cardView 是类 MainSwipeCardView 的自定义 View 。此 View 中的内容(一个简单的 Shadow UIView 和自定义 SwipeCardView)需要根据父 View 的框架设置其框架。我无法正确执行此操作。

问题:如何在设置父 View 的框架后才设置两个自定义 subview 的框架。由于父 View 的框架不同(取决于索引),我希望 subview 的大小也相应改变。

最佳答案

我认为你可以使用属性 O​​bservers

let parventViewFram = parentView.bounds { didSet {
//add your custom Subviews or edit your custom subviews by calling layoutSubviews
}}

确保在访问其属性之前初始化 parentView

关于ios - 如何仅在设置parentView frame时设置 subview 的frame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55227909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com