BDSocialPageControl.h 2.78 KB
//
//  PageControl.h
//  PageControlDemo
//
/**
 * Created by honcheng on 5/14/11.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining 
 * a copy of this software and associated documentation files (the 
 * "Software"), to deal in the Software without restriction, including 
 * without limitation the rights to use, copy, modify, merge, publish, 
 * distribute, sublicense, and/or sell copies of the Software, and to 
 * permit persons to whom the Software is furnished to do so, subject 
 * to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be 
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT 
 * WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR 
 * PURPOSE AND NONINFRINGEMENT. IN NO EVENT 
 * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR 
 * IN CONNECTION WITH THE SOFTWARE OR 
 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * @author 		Muh Hon Cheng <honcheng@gmail.com> http://twitter.com/honcheng
 * @copyright	2011	Muh Hon Cheng
 * 
 */

#import <UIKit/UIKit.h>

typedef enum
{
    BDSocialPageControlStyleDefault = 0,
    BDSocialPageControlStyleStrokedCircle = 1,
    BDSocialPageControlStylePressed1 = 2,
    BDSocialPageControlStylePressed2 = 3,
    BDSocialPageControlStyleWithPageNumber = 4,
    BDSocialPageControlStyleThumb = 5,
    BDSocialPageControlStyleRect = 6 //选中的page为长方形显示
} BDSocialPageControlStyle;

@interface BDSocialPageControl : UIControl {
    int _currentPage, _numberOfPages;
    BOOL hidesForSinglePage;
    UIColor *coreNormalColor, *coreSelectedColor;
    UIColor *strokeNormalColor, *strokeSelectedColor;
    BDSocialPageControlStyle _BDSocialPageControlStyle;
    int _strokeWidth, diameter, gapWidth;
}

@property (nonatomic, strong) UIColor *coreNormalColor, *coreSelectedColor;
@property (nonatomic, strong) UIColor *strokeNormalColor, *strokeSelectedColor;
@property (nonatomic, assign) int _currentPage, _numberOfPages;
@property (nonatomic, assign) BOOL hidesForSinglePage;
@property (nonatomic, assign) BDSocialPageControlStyle _pageControlStyle;
@property (nonatomic, assign) int _strokeWidth, diameter, gapWidth;
@property (nonatomic, strong) UIImage *thumbImage, *selectedThumbImage;
@property (nonatomic, assign) CGFloat rectWidth; //BDSocialPageControlStyleRect时矩形的宽度

- (void)setCurrentPage:(int)page;
- (int)currentPage;
- (void)setNumberOfPages:(int)numOfPages;
- (int)numberOfPages;
- (BDSocialPageControlStyle)pageControlStyle;
- (void)setPageControlStyle:(BDSocialPageControlStyle)style;

@end