【发布时间】:2010-12-01 00:39:03
【问题描述】:
Apple 有许多非标准的大彩色按钮。其中之一是地址簿中的删除联系人按钮。另一个是计时器(时钟应用程序)中的开始/停止按钮或电话中的结束通话按钮。它们是不同的,但都具有相似的外观。
问题很简单。有没有一种方法可以在不使用背景图像/屏幕截图或从头开始重新创建它们的情况下创建此类按钮?
谢谢。
【问题讨论】:
标签: iphone user-interface button
Apple 有许多非标准的大彩色按钮。其中之一是地址簿中的删除联系人按钮。另一个是计时器(时钟应用程序)中的开始/停止按钮或电话中的结束通话按钮。它们是不同的,但都具有相似的外观。
问题很简单。有没有一种方法可以在不使用背景图像/屏幕截图或从头开始重新创建它们的情况下创建此类按钮?
谢谢。
【问题讨论】:
标签: iphone user-interface button
你可以试试Opacity。新版本允许您绘制矢量图像并生成 UIKit 友好的 Objective-C 代码来重新创建绘图。
【讨论】:
好吧,我尝试了很多方法,但最简单的方法是制作具有自定义样式的 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;
首先,您为页脚创建视图。
然后您制作一个具有正确背景的按钮 - 只需为您需要的任何按钮制作屏幕截图并从中删除字母。
比您为按钮创建标题并将其放在按钮上。
最后一步是将按钮和标题放入footer view,将footer view放入table中。
【讨论】: