IOS开发UI篇之──自定义UIActionSheet【转】

UIActionSheet类系iOS开发中实现警告框的重要的类,而在好多应用中,都对它进行了扩展,今天介绍一下自定义风格的UIActionSheet


一、自定义CustomActionSheet类

  CustomActionSheet类继承UIActionSheet,具体的实现如下所示:

  1)CustomActionSheet.h头文件

#import 

@interface CustomActionSheet : UIActionSheet {
UIToolbar* toolBar;
UIView* view;
}
@property(nonatomic,retain)UIView* view;
@property(nonatomic,retain)UIToolbar* toolBar;

/*因为是通过给ActionSheet 加 Button来改变ActionSheet, 所以大小要与actionsheet的button数有关
 *height = 84, 134, 184, 234, 284, 334, 384, 434, 484
 *如果要用self.view = anotherview.  那么another的大小也必须与view的大小一样
 */
-(id)initWithHeight:(float)height WithSheetTitle:(NSString*)title;
@end
   
   2)CustomActionSheet.m实现文件
#import "CustomActionSheet.h"

@implementation CustomActionSheet
@synthesize view;
@synthesize toolBar;
-(id)initWithHeight:(float)height WithSheetTitle:(NSString*)title
{
self = [super init];
    if (self) 
{
int theight = height - 40;
int btnnum = theight/50;
for(int i=0; i
二、利用自定义的CustomActionSheet类显示提示框


#import "TestActionSheetViewController.h"
#import "CustomActionSheet.h"
@implementation TestActionSheetViewController

-(IBAction)btndown
{
CustomActionSheet* sheet = [[CustomActionSheet alloc] initWithHeight:284.0f 
                                                          WithSheetTitle:@"自定义ActionSheet"];
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0,50, 320, 50)];
label.text = @"这里是要自定义放的控制";
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
[sheet.view addSubview:label];
[sheet showInView:self.view];
[sheet release];
}
@end


    这里的UILabel是作一个示例,在这个位置你可以换成你自己的内容即可;


三、效果图

你可能感兴趣的:(ios)