是否有可能为每个分页点使用不同的颜色?假设如果我有4个点意味着可以为ios中的每个点提供4种不同的颜色?为ios中的每个分页点提供不同颜色的代码
2
A
回答
0
Check this below code
pageControl.pageIndicatorTintColor = [UIColor purpleColor];
pageControl.currentPageIndicatorTintColor = [UIColor magentaColor];
or Please refer this link
http://stackoverflow.com/questions/2942636/how-can-i-change-the-color-of-pagination-dots-of-uipagecontrol
0
由于iOS的限制,没有原生的方式来更改每个页面指示器的颜色。
但是,您可以使用以下代码更改当前所选指标的颜色以及其他可能是妥协的指标。
pageControl.pageIndicatorTintColor = [UIColor purpleColor];
pageControl.currentPageIndicatorTintColor = [UIColor magentaColor];
如果这个功能对你的应用程序,我会建议创建服务你的目的也许找到一个图书馆网上,可以让你做到这一点的定制页指标至关重要。
我希望回答您的问题:)通过在博客上面的代码
1
http://muthesblog.blogspot.in/2011/11/custompagecontrol.html
你会得到不同的色点如下图所示的图像有黄色矩形。
为了您的方便添加代码
implemetation的custompagecontrol的
PageControl *<pageControl> = [[[PageControl alloc] initWithFrame:f] autorelease];
<pageControl>.numberOfPages = 5;
<pageControl>.currentPage = 1;
<pageControl>.delegate = self;
[self.view addSubview:<pageControl>];
/// .h文件中
#import <UIKit/UIKit.h>
@protocol PageControlDelegate;
@interface PageControl : UIView {
@private
NSInteger _currentPage;
NSInteger _numberOfPages;
UIColor *dotColorCurrentPage;
UIColor *dotColorOtherPage;
NSObject<PageControlDelegate> *delegate;
}
// Set these to control the PageControl.
@property (nonatomic) NSInteger currentPage;
@property (nonatomic) NSInteger numberOfPages;
// Customize these as well as the backgroundColor property.
@property (nonatomic, retain) UIColor *dotColorCurrentPage;
@property (nonatomic, retain) UIColor *dotColorOtherPage;
// Optional delegate for callbacks when user taps a page dot.
@property (nonatomic, assign) NSObject<PageControlDelegate> *delegate;
@end
@protocol PageControlDelegate<NSObject>
@optional
- (void)pageControlPageDidChange:(PageControl *)pageControl;
@end
//.m文件
#import "PageControl.h"
// Tweak these or make them dynamic.
#define kDotDiameter 10.0
#define kDotSpacer 7.0
@implementation PageControl
@synthesize dotColorCurrentPage;
@synthesize dotColorOtherPage;
@synthesize delegate;
- (NSInteger)currentPage{
return _currentPage;
}
- (void)setCurrentPage:(NSInteger)page{
_currentPage = MIN(MAX(0, page), _numberOfPages-1);
[self setNeedsDisplay];
}
- (NSInteger)numberOfPages{
return _numberOfPages;
}
- (void)setNumberOfPages:(NSInteger)pages{
_numberOfPages = MAX(0, pages);
_currentPage = MIN(MAX(0, _currentPage), _numberOfPages-1);
[self setNeedsDisplay];
}
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame]))
{
// Default colors.
self.backgroundColor = [UIColor clearColor];
self.dotColorCurrentPage = [UIColor greenColor];
self.dotColorOtherPage = [UIColor whiteColor];
}
return self;
}
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetAllowsAntialiasing(context, true);
CGRect currentBounds = self.bounds;
CGFloat dotsWidth = self.numberOfPages*kDotDiameter + MAX(0, self.numberOfPages-1)*kDotSpacer;
CGFloat x = CGRectGetMidX(currentBounds)-dotsWidth/2;
CGFloat y = CGRectGetMidY(currentBounds)-kDotDiameter/2;
for (int i=0; i<_numberOfPages; i++)
{
CGRect circleRect = CGRectMake(x, y, kDotDiameter, kDotDiameter);
if (i == _currentPage)
{
CGContextSetFillColorWithColor(context, self.dotColorCurrentPage.CGColor);
}
else
{
if(i==0) {
CGContextSetFillColorWithColor(context, [UIColor magentaColor].CGColor);
} else if(i==1) {
CGContextSetFillColorWithColor(context, [UIColor orangeColor].CGColor);
} else if (i==2) {
CGContextSetFillColorWithColor(context, [UIColor yellowColor].CGColor);
} else if (i==3) {
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
} else if (i==4) {
CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);
}
}
CGContextFillEllipseInRect(context, circleRect);
x += kDotDiameter + kDotSpacer;
}
}
- (void)dealloc {
[dotColorCurrentPage release];
[dotColorOtherPage release];
[super dealloc];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if (!self.delegate) return;
CGPoint touchPoint = [[[event touchesForView:self] anyObject] locationInView:self];
CGFloat dotSpanX = self.numberOfPages*(kDotDiameter + kDotSpacer);
CGFloat dotSpanY = kDotDiameter + kDotSpacer;
CGRect currentBounds = self.bounds;
CGFloat x = touchPoint.x + dotSpanX/2 - CGRectGetMidX(currentBounds);
CGFloat y = touchPoint.y + dotSpanY/2 - CGRectGetMidY(currentBounds);
if ((x<0) || (x>dotSpanX) || (y<0) || (y>dotSpanY)) return;
self.currentPage = floor(x/(kDotDiameter+kDotSpacer));
if ([self.delegate respondsToSelector:@selector(pageControlPageDidChange:)])
{
[self.delegate pageControlPageDidChange:self];
}
}
@end
相关问题
- 1. 不同的颜色为每个圆点
- 2. 如何更改UIPageControl中每页不同颜色的分页点的颜色
- 3. C++代码为每个输入提供相同的输出
- 4. 如何在RangeSlider中为拖拽提供不同的颜色
- 5. Java如何为每种颜色提供两种颜色值?
- 6. 为不同图形中的节点分配相同的颜色
- 7. Scatterplot其中每个点颜色是K个颜色的不同混合物
- 8. 为每个数据点绘制不同颜色的动画图
- 9. Gblame:颜色每次提交不同的颜色
- 10. ViewPagerIndicator为每个页面提供不同的菜单?
- 11. 如何为R中的点图的不同点分配不同的颜色?
- 12. 为什么我的Jupyter(Ubuntu)中的每行代码颜色都不相同?
- 13. 如何给R中散点图中的每个类提供颜色?
- 14. 如何使用PHP提供颜色编码的Java代码?
- 15. 有不同的颜色为每行
- 16. 如何在android中分配不同的颜色代码?
- 17. 颜色代码的Android不同
- 18. 使用不同颜色为每个错误条颜色
- 19. 如何使用java中的jfreechart为散点图中的每个点分配不同的颜色?
- 20. 如何为每个页面提供独特的特色链接?
- 21. 每个数据集不同的颜色
- 22. 如何使用Matplotlib pyplot pcolor为我的阴谋中的每个网格提供不同的颜色
- 23. 为什么以下两个代码提供不同的结果?
- 24. 为什么kmean颜色分割每次都显示不同的颜色?
- 25. 为什么我的代码为同一个词提供不同的数字?
- 26. cytoscape中不同组边缘的不同颜色代码
- 27. 如何为rPlot中的不同点设置不同的颜色?
- 28. OpenGL ES快照为iOS中的多色采样提供奇数颜色
- 29. TreeView上每个节点的不同“IsSelected”颜色
- 30. ChartJS - 每个数据点的不同颜色
不幸的是,你不能。 – 2014-10-30 09:18:49
请使用分页中的静态或动态操作 – 2014-10-30 09:23:09
您只能在自定义重新实现中执行此操作,而不能在标准控件中执行此操作。 – 2014-10-30 09:28:04