是否可以在iOS中制作自定义形状的按钮

时间:2013-09-09 23:51:21

标签: ios

或某种可以

的UI对象
  1. 与用户互动

  2. 绘制成任何形状,例如椭圆形。

2 个答案:

答案 0 :(得分:1)

是肯定的。这很简单。

  UIImage *buttonImage = [UIImage imageNamed:@"greenButton.png"];
  UIImage *buttonImageHighlight = [UIImage imageNamed:@"greenButtonHighlight.png"];


 [myCustomButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
 [myCustomButton setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted];

答案 1 :(得分:0)

可以通过各种方式实现。 Rydgaze为您提供了使用UIImage作为自定义按钮的选项。如果您只是寻找代码方式,那么我会建议UIBezierPath。 UIBezierPath允许您绘制任何您想要的形状以及自定义外观。使用UIBezierPath,我可以绘制一个星形并用任何我想要的东西填充它。

以下是参考文献的链接:https://developer.apple.com/library/ios/documentation/uikit/reference/UIBezierPath_class/Reference/Reference.html

您的想法是创建一个视图类。在该视图的drawRect方法中,您将设计您想要创建的任何形状,并将其自定义为您认为合适的形状。对于您的按钮,您可以将其self.view设置为自定义UIBezierPath类的视图。这只会将您的自定义形状绘制为按钮。

在代码中编写按钮的好处是,它会更快。由于它不存储图像文件,因此它的占用空间也大大减少。您还可以继续自定义形状。这意味着你可以很容易地改变颜色,尺寸等。