StackView 中的视图未添加底部边框 (ios)
Bottom border is not added to view in StackView (ios)
我正在尝试以编程方式将带有底部边框的 UIView 添加到堆栈 view.But 边框未添加到 UIView()。
将 UIView 添加到堆栈视图的代码:
func addOtpViews()
{
var otpLength=Int(otpLen as String)!
print("otpLength is\(otpLength)")
var i=0;
while(i<=otpLength)
{
var view=UIView(frame: .zero)
addBottomBorderTo(view: view)
otpStackView.addArrangedSubview(view)
i=i+1
}
otpStackView.translatesAutoresizingMaskIntoConstraints=false
}
上面的otpStackView是我已经添加到StoryBoard中的堆栈视图。
添加底线的代码:
func addBottomBorderTo(view:UIView) {
print("bottom is added")
let layer = CALayer()
layer.backgroundColor = UIColor.gray.cgColor
layer.frame = CGRect(x: 0.0, y: view.frame.size.height - 2.0, width: view.frame.size.width, height: 2.0)
view.layer.addSublayer(layer)
}
为什么UIView()中没有添加底线?请提前帮助me.Thanks
你检查过这里的视图框架吗
layer.frame = CGRect(x: 0.0, y: view.frame.size.height - 2.0, width: view.frame.size.width, height: 2.0)
view.frame可以是(0,0),那么你就看不到底线了。
使用视图框架时请务必小心。
我的建议:
1.Adding 子视图而不是添加子图层,然后使用snapkit 进行布局。
2.Build 一个名为 bottomedView 的单独视图 class,然后使用 snapkit 添加子视图。
3.Build 一个名为 bottomedView 的单独视图 class,并在 onDraw 中绘制底线。
请注意,当视图意外丢失时,可能无法确定视图框架。
我正在尝试以编程方式将带有底部边框的 UIView 添加到堆栈 view.But 边框未添加到 UIView()。 将 UIView 添加到堆栈视图的代码:
func addOtpViews()
{
var otpLength=Int(otpLen as String)!
print("otpLength is\(otpLength)")
var i=0;
while(i<=otpLength)
{
var view=UIView(frame: .zero)
addBottomBorderTo(view: view)
otpStackView.addArrangedSubview(view)
i=i+1
}
otpStackView.translatesAutoresizingMaskIntoConstraints=false
}
上面的otpStackView是我已经添加到StoryBoard中的堆栈视图。
添加底线的代码:
func addBottomBorderTo(view:UIView) {
print("bottom is added")
let layer = CALayer()
layer.backgroundColor = UIColor.gray.cgColor
layer.frame = CGRect(x: 0.0, y: view.frame.size.height - 2.0, width: view.frame.size.width, height: 2.0)
view.layer.addSublayer(layer)
}
为什么UIView()中没有添加底线?请提前帮助me.Thanks
你检查过这里的视图框架吗
layer.frame = CGRect(x: 0.0, y: view.frame.size.height - 2.0, width: view.frame.size.width, height: 2.0)
view.frame可以是(0,0),那么你就看不到底线了。
使用视图框架时请务必小心。
我的建议: 1.Adding 子视图而不是添加子图层,然后使用snapkit 进行布局。 2.Build 一个名为 bottomedView 的单独视图 class,然后使用 snapkit 添加子视图。 3.Build 一个名为 bottomedView 的单独视图 class,并在 onDraw 中绘制底线。
请注意,当视图意外丢失时,可能无法确定视图框架。