pagecontrol指示器自定义图像而不是默认值

时间:2011-01-06 11:55:45

标签: iphone uipagecontrol

How can i change the color of pagination dots of UIPageControl?

在此链接中给出了示例代码。但它显示了3个错误...

1'st ERROR:

行:CGRect currentBounds = self.bounds;

错误:请求非结构或联合的成员'bounds'

方法:-(空隙)的drawRect:

2nd Err:touchesBegan方法中同一行的相同错误。

3rd Err:@protocol PageControlDelegate

@optional

  • (void)pageControlPageDidChange :( PageControl *)pageControl;

@end

错误:在'PageControl'之前预期')'。这些是我发生的三个错误...请帮我解决这个问题..

我想更改pagecontrol指示符(点)颜色...

谢谢&问候, Renuga

2 个答案:

答案 0 :(得分:2)

第一个错误可能是因为self没有引用视图(可能是视图控制器)

第二个错误是因为在解析器进入协议定义时尚未定义PageControl。

带代表的典型类

@protocol MyProtocol;

@interface myClassWithDelegate
{
  id<MyProtocol> _delagate;
}

@end

@protocol MyProtocol
  -(void)MyClass:(MyClassWithDelegate*)c says(NSString*)message;
@end

答案 1 :(得分:0)

我是编写您正在使用的示例代码的人。

我看到VdesmedT已经帮助您解决了语法问题。所以+1为此!

至于自定义点:提供的类不支持点的自定义图像。它只是使用Core Graphics绘制圆圈。使用属性dotColorCurrentPagedotColorOtherPage配置圆圈的颜色。

默认颜色为灰色圆点,当前页面带有黑点(因为这是我编写时所需要的)。

假设你想要一个红点而不是当前页面的黑点和其他页面的绿点。在创建PageControl实例时,您只需指定如下属性:

pageControl.dotColorCurrentPage = [UIColor redColor];
pageControl.dotColorOtherPage = [UIColor greenColor];

...假设您的实例变量名为pageControl。或者使用任何其他便利/初始化方法来创建您喜欢的UIColor

希望这有帮助。