如何从UIAlertView中删除多余的上下间距?

苏尼尔·帕尔玛(Sunil Parmar)

使用UIAlertView创建以下警报,该警报在顶部和底部显示多余的空间,如图1所示。
我想删除此间距,如图2所示。
请提出任何解决方案。


我的警报代码:使用iOS 7.1

 - (id)initWithFrame:(CGRect)frame Cancel:(NSString *)CancelValue Set:(NSString *)SetValue Tag:(int)TagValue Array:(NSMutableArray *)ArrayValue
{
    self = [super initWithFrame:frame];
    if (self)
    {
        // Initialization code

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil, nil];

        UIView *vwAlert = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 380)];
        [alert addSubview:vwAlert];

        UITableView *table = [[UITableView alloc] initWithFrame:CGRectMake(20, 0, 280, 350) style:UITableViewStylePlain];
        table.dataSource = self;
        table.delegate = self;
        table.scrollEnabled = NO;
        table.tag = TagValue;
        [table setSeparatorInset:UIEdgeInsetsZero];
        [vwAlert addSubview:table];

        aryTitle = [[NSMutableArray alloc] initWithObjects:@"Sort Habits",@"Habit Records",@"Category", nil];
        vwAlert.frame = CGRectMake(0, 0, 320, 170);
        table.frame = CGRectMake(20, 0, 280, vwAlert.frame.size.height);

        btnCancel.hidden=YES;
        btnSet.hidden=YES;

        UIImageView *imgVw = [[UIImageView alloc] initWithFrame:CGRectMake(250, 2, 40, 40)];
        imgVw.image = [UIImage imageNamed:@"icon_filter_clear"];
        [vwAlert addSubview:imgVw];

        UIButton *btnClearAll = [UIButton buttonWithType:UIButtonTypeSystem];
        btnClearAll.frame = CGRectMake(235, 0, 60, 40);
        [btnClearAll addTarget:self action:@selector(funClearAll:) forControlEvents:UIControlEventTouchUpInside];
        [vwAlert addSubview:btnClearAll];

        [table reloadData];
        [alert setValue:vwAlert forKey:@"accessoryView"];
        [alert show];
    }
    return self;
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.selectionStyle = UITableViewCellSelectionStyleGray;
    }
    cell.textLabel.text = [aryRestore objectAtIndex:(indexPath.row)];
    cell.textLabel.font = [UIFont fontWithName:@"Avenir Next" size:16];
    return cell;
}


图片1
在此处输入图片说明

图片2
在此处输入图片说明

法欣·帕克(Fahim Parkar)

创建如下的自定义alertview。

CustomAlertView.h

@interface CustomAlertView:UIAlertView {}

CustomAlertView.m

// override
- (void)drawRect:(CGRect)rect
{
    for(UIView * sub in self.subviews)
    {
        [sub removeFromSuperview];
    }
    // this removeFromSuperview will clear all thing such as background view and buttons

    // do something
}

现在,在您的视图控制器中,如下所示导入此customalertview。

#import "CustomAlertView.h"

然后代替

UIAlertView *alert = [[UIAlertView alloc]

使用

CustomAlertView *alert = [[CustomAlertView alloc]

笔记

使用UIAlertView做您的工作是不正确的。我建议使用像KGModal这样的popover

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Django管理员中删除多余的选择?

来自分类Dev

如何从http请求中删除多余的字符?

来自分类Dev

如何从Get-WMIObject输出Powershell中删除多余的行

来自分类Dev

如何删除导航栏中的多余空间?

来自分类Dev

图像下方有多余的间距,如何去除?

来自分类Dev

如何从字符串中删除剩余的多余字符

来自分类Dev

如何从python的结果中删除多余的列表

来自分类Dev

如何删除空xml标记中的多余空间

来自分类Dev

如何从特定字符串中删除多余的空格?

来自分类Dev

Java Swing:如何在JPanel中删除JButton的默认间距

来自分类Dev

如何删除材料设计按钮中的多余填充或边距?

来自分类Dev

如何从Python日志文件中删除多余的数据?

来自分类Dev

如何使用GridLayoutManager在RecyclerView中删除行之间的间距

来自分类Dev

Google脚本如何从数组中删除多余的行

来自分类Dev

如何在WPF文本框中删除多余的边框?

来自分类Dev

如何按条件从对象中删除多余的属性?

来自分类Dev

如何删除ReorderableListView底部的多余间距-颤振?

来自分类Dev

如何从情节中删除多余的线条?

来自分类Dev

如何在CustomPaint中删除多余的形状?

来自分类Dev

如何摆脱表格单元格中多余的垂直间距?

来自分类Dev

如何删除多余的空白

来自分类Dev

如何删除导航栏中的多余空间?

来自分类Dev

如何从网址中删除多余的%和数字?

来自分类Dev

如何从csv文件中删除多余的逗号?

来自分类Dev

如何删除BeautifulSoup输出中的多余空间

来自分类Dev

如何从PHP中的Json数据中删除多余的数组

来自分类Dev

如何在ChartView中删除间距?

来自分类Dev

如何删除laravel中的多余数字

来自分类Dev

如何删除pymysql中的多余引号

Related 相关文章

  1. 1

    如何从Django管理员中删除多余的选择?

  2. 2

    如何从http请求中删除多余的字符?

  3. 3

    如何从Get-WMIObject输出Powershell中删除多余的行

  4. 4

    如何删除导航栏中的多余空间?

  5. 5

    图像下方有多余的间距,如何去除?

  6. 6

    如何从字符串中删除剩余的多余字符

  7. 7

    如何从python的结果中删除多余的列表

  8. 8

    如何删除空xml标记中的多余空间

  9. 9

    如何从特定字符串中删除多余的空格?

  10. 10

    Java Swing:如何在JPanel中删除JButton的默认间距

  11. 11

    如何删除材料设计按钮中的多余填充或边距?

  12. 12

    如何从Python日志文件中删除多余的数据?

  13. 13

    如何使用GridLayoutManager在RecyclerView中删除行之间的间距

  14. 14

    Google脚本如何从数组中删除多余的行

  15. 15

    如何在WPF文本框中删除多余的边框?

  16. 16

    如何按条件从对象中删除多余的属性?

  17. 17

    如何删除ReorderableListView底部的多余间距-颤振?

  18. 18

    如何从情节中删除多余的线条?

  19. 19

    如何在CustomPaint中删除多余的形状?

  20. 20

    如何摆脱表格单元格中多余的垂直间距?

  21. 21

    如何删除多余的空白

  22. 22

    如何删除导航栏中的多余空间?

  23. 23

    如何从网址中删除多余的%和数字?

  24. 24

    如何从csv文件中删除多余的逗号?

  25. 25

    如何删除BeautifulSoup输出中的多余空间

  26. 26

    如何从PHP中的Json数据中删除多余的数组

  27. 27

    如何在ChartView中删除间距?

  28. 28

    如何删除laravel中的多余数字

  29. 29

    如何删除pymysql中的多余引号

热门标签

归档