如何使用按钮单击关闭KGModel弹出窗口

时间:2016-08-01 09:39:55

标签: ios objective-c

Hello Friends我是iOS应用程序的新手。我使用KGModel库来显示弹出窗口。它的工作正常。但我想知道如何在单击按钮时关闭此弹出窗口。 enter image description here

我的代码是: -

#import "ViewController.h"
 #import "KGModal.h"
 #import "CRTableViewCell.h"
@interface ViewController ()

 @end

 @implementation ViewController
 {
NSArray *dataSource;
 bool selected;
 NSMutableArray *selectedMarks;
UITableView *mytable;
}




 - (void)viewDidLoad {
[super viewDidLoad];


dataSource = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto", @"Full Breakfast", @"Hamburger", @"Ham and Egg Sandwich", @"Creme Brelee", @"White Chocolate Donut", @"Starbucks Coffee", @"Vegetable Curry", @"Instant Noodle with Egg", @"Noodle with BBQ Pork", @"Japanese Noodle with Pork", @"Green Tea", @"Thai Shrimp Cake", @"Angry Birds Cake", @"Ham and Cheese Panini", nil];
selectedMarks = [NSMutableArray new];





    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;







       UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenWidth-50, screenHeight-50)];



       UITableView *mytableview = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, screenWidth-50, screenHeight-100)];

      mytableview.delegate =self;
      mytableview.dataSource=self;

     [contentView addSubview:mytableview];


      UIButton *save = [[UIButton alloc] initWithFrame:CGRectMake(0, screenHeight-100, screenWidth-50, 50)];
     [save setTitle:@"SAVE" forState:UIControlStateNormal];
     [save setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [save addTarget:self action:@selector(saveAction:) forControlEvents:UIControlEventTouchUpInside];
   [save setBackgroundColor:[UIColor lightGrayColor]];
    [contentView addSubview:save];





         [[KGModal sharedInstance] showWithContentView:contentView andAnimated:YES];


 }
       - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
   return [dataSource count];
   }
 - (UITableViewCell *)tableView:(UITableView *)tableView      cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CRTableViewCellIdentifier = @"cellIdentifier";

// init the CRTableViewCell
  CRTableViewCell *cell = (CRTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CRTableViewCellIdentifier];

  if (cell == nil) {
    cell = [[CRTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CRTableViewCellIdentifier];
}


  NSString *text = [dataSource objectAtIndex:[indexPath row]];
   cell.textLabel.font = [UIFont systemFontOfSize:12.0];
  cell.isSelected = [selectedMarks containsObject:text] ? YES : NO;
 cell.textLabel.text = text;
 mytable=tableView;
 return cell;
}

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:    (NSIndexPath *)indexPath
 {
NSString *text = [dataSource objectAtIndex:[indexPath row]];

if ([selectedMarks containsObject:text])// Is selected?
    [selectedMarks removeObject:text];
else
    [selectedMarks addObject:text];

   [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

 }
-(void)saveAction:(id)sender{
NSLog(@"%@",sender);
selected = !selected;
NSLog(@"%lu",[dataSource count]);
for(int i=0; i<[dataSource count]; i++){
    NSString *text = [dataSource objectAtIndex:i];
    if(selected){

        [selectedMarks addObject:text];
    }else{
        [selectedMarks removeObject:text];
    }

}
   [mytable reloadData];
    KGModal *model = [[KGModal alloc]init];
    [model  hideAnimated:YES withCompletionBlock:nil];
           //NSLog(@"%@", selectedMarks);
   }

我想在点击保存按钮时关闭此弹出窗口。请帮助我。

1 个答案:

答案 0 :(得分:0)

如果您想使用KGModel按钮关闭Save,请在按钮操作中使用以下代码

[KGModal sharedInstance].animateWhenDismissed = YES;

您可以在here

中看到该属性
// Determines if the modal should dismiss if the user taps outside of the modal view
// Defaults to YES
@property (nonatomic) BOOL tapOutsideToDismiss;

// Determines if the close button or tapping outside the modal should   animate the dismissal
// Defaults to YES
@property (nonatomic) BOOL animateWhenDismissed;

// Determins close button type (None/Left/Right)
// Defaults to Left