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

标签 iphone ios

我是 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/

相关文章:

iphone - 检查数组是否包含特定索引处的元素?

iphone - 画图应用的 OpenGL ES 内容截图

iphone - 向模态视图 Controller 的工具栏添加标题的正确方法?

ios - 是在 AppDelegate 中的 didFinishLaunchingWithOptions 之前初始化 Controller 加载

ios - 如何增加 webview 中的字体大小?

iphone - 如何创建神奇的 .xcdatamodeld 文件夹/包?

iOS - 如何沿路径绘制渐变

iphone - 以编程方式设置 UIView 的自动调整大小掩码?

ios - ARKit 中节点函数的渲染器 didUpdate 未被执​​行

ios - 使用 Objective-C 在 iPhone 上禁用 WIFI