如何在iPhone上创建类似于“删除联系人”按钮的按钮?

时间:2009-09-24 08:56:36

标签: iphone user-interface button

Apple有很多大的彩色按钮,不是标准的。其中一个是地址簿中的删除联系人按钮。另一个是计时器(时钟应用程序)中的开始/停止按钮或电话中的结束呼叫按钮。它们不同,但都有相似的外观。

问题很简单。有没有办法在不使用背景图像/屏幕截图的情况下创建这些按钮或从头开始重新创建它们?

感谢。

2 个答案:

答案 0 :(得分:3)

您可以尝试Opacity。新版本允许您绘制矢量图像并生成UIKit友好的Objective-C代码,以重新创建绘图。

答案 1 :(得分:1)

好吧,我已经尝试了很多方法,但最简单的方法是制作一个自定义样式的UIButton。

如果您需要在表格的页脚中使用“删除”按钮 - 例如在联系人或事件中,则代码如下:

    UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 60)];

    UIButton *newDeleteButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    newDeleteButton.frame = CGRectMake(10, 10, 300, 43);
    UIImage *buttonBackground = [UIImage imageNamed:@"ButtonDelete.png"];
    [newDeleteButton setImage:buttonBackground forState:UIControlStateNormal];
    [newDeleteButton addTarget:self action:@selector(deleteButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

    UILabel *deleteTitle = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 39)];
    deleteTitle.text = @"Delete";
    deleteTitle.font = [UIFont boldSystemFontOfSize:20];
    deleteTitle.textColor = [UIColor whiteColor];
    deleteTitle.textAlignment = UITextAlignmentCenter;
    deleteTitle.backgroundColor = [UIColor clearColor];

    [footerView addSubview:newDeleteButton];
    [footerView addSubview:deleteTitle];
    formTableView.tableFooterView = footerView;

首先,为页脚创建视图。

然后你制作一个背景正确的按钮 - 只需截上你需要的任何按钮,然后删除它上面的字母。

比为按钮创建标题并将其放在按钮上。

最后一步是将按钮和标题放在页脚视图中,并将页脚视图放入表格中。