gpt4 book ai didi

iphone - 在 UIPageControl 的索引 0 处使用 UIPageControl 的图像自定义点

转载 作者:IT王子 更新时间:2023-10-29 07:52:16 26 4
gpt4 key购买 nike

我是 ios 编程的新手。我试图在 stackoverflow 上搜索另​​一个示例和更多问题,但这不是我的目标。我想在 UIPageControl 的索引 0 处设置一个类似于 iPhone 搜索主屏幕的点图像。有什么办法吗?请用一些代码或其他有用的链接向我解释。

提前致谢

enter image description here

最佳答案

我已经找到了解决这个问题的方法。我知道这不是办法,但在 iOS 8 转换市场之前它会起作用。

崩溃原因:

在 iOS 7 [self.subViews objectAtIndex: i] 返回 UIView 而不是 UIImageView 并且 setImage 不是 UIView 的属性并且应用程序崩溃。我使用以下代码解决了我的问题。

检查 subview 是否为 UIView(iOS7)或 UIImageView(iOS6 或更早版本)。如果它是 UIView,我将在该 View 上添加 UIImageView 作为 subview ,瞧,它正在工作而不是崩溃..!!

-(void) updateDots
{
for (int i = 0; i < [self.subviews count]; i++)
{
UIImageView * dot = [self imageViewForSubview: [self.subviews objectAtIndex: i]];
if (i == self.currentPage) dot.image = activeImage;
else dot.image = inactiveImage;
}
}
- (UIImageView *) imageViewForSubview: (UIView *) view
{
UIImageView * dot = nil;
if ([view isKindOfClass: [UIView class]])
{
for (UIView* subview in view.subviews)
{
if ([subview isKindOfClass:[UIImageView class]])
{
dot = (UIImageView *)subview;
break;
}
}
if (dot == nil)
{
dot = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, view.frame.size.width, view.frame.size.height)];
[view addSubview:dot];
}
}
else
{
dot = (UIImageView *) view;
}

return dot;
}

此外,要清除已经存在的图像,请将现有指示器的色调颜色设置为透明:

- (void)awakeFromNib
{
self.pageIndicatorTintColor = [UIColor clearColor];
self.currentPageIndicatorTintColor = [UIColor clearColor];
}

希望这会解决您的 iOS 7 问题。

快乐编码

关于iphone - 在 UIPageControl 的索引 0 处使用 UIPageControl 的图像自定义点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12190147/

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