Objective c 短信应用程序中的UIButton

Objective c 短信应用程序中的UIButton,objective-c,ios,uibutton,Objective C,Ios,Uibutton,如何重新创建显示在SMS应用程序顶部的UI按钮(例如“加载早期消息”按钮)。它们看起来很像标准的UIButtons,只是有一个渐变,一个轻微的阴影和内部阴影,以及一个更蓝的边框。苹果是使用可拉伸的UIImage来制作这些图像,还是通过编程方式创建(以及如何创建) 我最喜欢的解决方案是创建一个只包含一个段的分段控件。最后你会得到一个漂亮的按钮。以下是我如何以编程方式执行此操作: UISegmentedControl* takePhotoButton = [[UISegmentedCon

如何重新创建显示在SMS应用程序顶部的UI按钮(例如“加载早期消息”按钮)。它们看起来很像标准的UIButtons,只是有一个渐变,一个轻微的阴影和内部阴影,以及一个更蓝的边框。苹果是使用可拉伸的UIImage来制作这些图像,还是通过编程方式创建(以及如何创建)


我最喜欢的解决方案是创建一个只包含一个段的分段控件。最后你会得到一个漂亮的按钮。以下是我如何以编程方式执行此操作:

UISegmentedControl* takePhotoButton = 
     [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Take Photo"]];
takePhotoButton.segmentedControlStyle = UISegmentedControlStyleBar;
takePhotoButton.frame = CGRectMake(55,336,110,38);
takePhotoButton.tintColor = [UIColor lightGrayColor];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:[UIFont boldSystemFontOfSize:16]
                                                       forKey:UITextAttributeFont];
[takePhotoButton setTitleTextAttributes:attributes
                               forState:UIControlStateNormal];
takePhotoButton.momentary = YES;
[takePhotoButton addTarget:self
                    action:@selector(onTakePhoto:)
          forControlEvents:UIControlEventValueChanged];
[self.view addSubview:takePhotoButton];

只需创建这样的图像资源,并将其用于按钮的背景图像。这是我的应急计划。我喜欢尽可能以编程方式创建东西,所以我不必担心屏幕大小。通常,您设计的按钮具有固定的高度,因此您只需要一些资源,而设计的图像对于这样的东西总是看起来更精致一些。如果您想以编程方式创建它,可以绘制形状并使用
CGGradient
填充它。虽然这确实是一个漂亮的按钮,但我正在寻找上面显示的按钮的精确复制。谢谢你的提示!