gpt4 book ai didi

ios - 在 UIPageControl 中添加点边框

转载 作者:行者123 更新时间:2023-11-30 12:59:46 25 4
gpt4 key购买 nike

我想为 UIPageControl 中的点添加边框颜色。这是它的小图片:

enter image description here

我可以通过从 XCode 配置来放置第二个点,但我无法使第一个和第三个圆圈内部为空。有没有简单的方法可以实现这一点?

谢谢:)

最佳答案

编辑 - Swift 3 和 4 扩展以实现相同的结果 -

extension UIPageControl {

func customPageControl(dotFillColor:UIColor, dotBorderColor:UIColor, dotBorderWidth:CGFloat) {
for (pageIndex, dotView) in self.subviews.enumerated() {
if self.currentPage == pageIndex {
dotView.backgroundColor = dotFillColor
dotView.layer.cornerRadius = dotView.frame.size.height / 2
}else{
dotView.backgroundColor = .clear
dotView.layer.cornerRadius = dotView.frame.size.height / 2
dotView.layer.borderColor = dotBorderColor.cgColor
dotView.layer.borderWidth = dotBorderWidth
}
}
}

}

要使用它,请在 viewDidLoad() 或 viewDidAppear() 中编写以下代码

pageControl.customPageControl(dotFillColor: .orange, dotBorderColor: .green, dotBorderWidth: 2)

Objective-C中使用下面的代码-

- (void) customPageControlWithFillColor:(UIColor*)dotFillColor borderColor:(UIColor*)dotBorderColor borderWidth:(CGFloat)dotBorderWidth {
for (int pageIndex = 0; pageIndex < _pageControl.numberOfPages; pageIndex++) {
UIView* dotView = [_pageControl.subviews objectAtIndex:pageIndex];
if (_pageControl.currentPage == pageIndex) {
dotView.backgroundColor = dotFillColor;
dotView.layer.cornerRadius = dotView.frame.size.height / 2;
} else {
dotView.backgroundColor = [UIColor clearColor];
dotView.layer.cornerRadius = dotView.frame.size.height / 2;
dotView.layer.borderColor = dotBorderColor.CGColor;
dotView.layer.borderWidth = dotBorderWidth;
}
}
}

输出-

enter image description here

关于ios - 在 UIPageControl 中添加点边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983476/

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