网易彩票-购彩大厅

1. 新建UITableViewControllerHall(购彩大厅)->Controller->Cocoa Touch Class->ClassHMHallController;Subclass of:UITableViewController

2. 设置Hall.storyboard”文件的类为“HMHallController”:Custom Class->Class:HMHallController

3. 设置导航栏标题:Navigation Item->Title:购彩大厅

4. 添加导航栏左侧“活动”按钮:在“HMHallController.m”文件的“viewDidLoad”方法中创建“活动”按钮,代码如下:

    //图片
    UIImage* image = [UIImage imageNamed:@"CS50_activity_image"];

    //告诉系统使用这个图片的时候,不进行渲染
    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    //创建 item
    UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(activityClick)];
    
    //添加到导航栏左侧
    self.navigationItem.leftBarButtonItem = item;
View Code

5. HMHallController.m文件中申明罩视图”常量和罩视图图片常量,代码如下:

@property (nonatomic, weak) UIView* coverView;
@property (nonatomic, weak) UIImageView* imageView;
View Code

6. HMHallController.m文件中实现按钮点击事件,代码如下:

//活动的点击事件
- (void)activityClick
{

    //遮罩
    UIView* coverView = [[UIView alloc] initWithFrame:kScreenSize];
    coverView.backgroundColor = [UIColor blackColor];
    coverView.alpha = 0.5;
    //添加到最外层的控制器
    [self.tabBarController.view addSubview:coverView];
    self.coverView = coverView;

    //imageView
    UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"showActivity"]];
    // 开启用户交互
    imageView.userInteractionEnabled = YES;
    imageView.center = self.view.center;

    //注意: 不添加到 cover 上的原因是因为父控件如果透明,那么子控件也会透明
    [self.tabBarController.view addSubview:imageView];
    self.imageView = imageView;

    //关闭按钮
    UIButton* closeButton = [[UIButton alloc] init];
    
    //获取图片
    UIImage* closeButtonImage = [UIImage imageNamed:@"alphaClose"];
    closeButton.frame = CGRectMake(imageView.bounds.size.width - closeButtonImage.size.width, 0, 0, 0);
    [closeButton setBackgroundImage:closeButtonImage forState:UIControlStateNormal];
    [closeButton sizeToFit];
    [imageView addSubview:closeButton];
    
    //监听关闭按钮的点击
    [closeButton addTarget:self action:@selector(closeClick) forControlEvents:UIControlEventTouchUpInside];
}
View Code

7. HMHallController.m文件中实现关闭按钮事件,代码如下:

//关闭按钮
- (void)closeClick
{
    [UIView animateWithDuration:0.25
                     animations:^{
                         [self.coverView removeFromSuperview];
                         [self.imageView removeFromSuperview];
                     }];
}
View Code

猜你喜欢

转载自www.cnblogs.com/diexin/p/9824538.html