这是UIButton吗?如果是,背景红色怎么办?显然,事实并非如此 红色UIColor? Xcode中是否包含相同的工具或实用程序以允许制作按钮 像这样?
答案 0 :(得分:15)
您可以使用私有类UIGlassButton
生成类似的按钮。
我先在@schwa http://pastie.org/830884看到它。
在iOS模拟器中使用此代码运行应用程序以创建自定义按钮(或在设备中,保存到$(APP)/ Documents并启用iTunes文件共享)。
Class theClass = NSClassFromString(@"UIGlassButton");
UIButton *theButton = [[[theClass alloc] initWithFrame:CGRectMake(10, 10, 120, 44)] autorelease];
// Customize the color
[theButton setValue:[UIColor colorWithHue:0.267 saturation:1.000 brightness:0.667 alpha:1.000] forKey:@"tintColor"];
//[theButton setTitle:@"Accept" forState:UIControlStateNormal];
[self.view addSubview:theButton];
UIGraphicsBeginImageContext(theButton.frame.size);
CGContextRef theContext = UIGraphicsGetCurrentContext();
[theButton.layer renderInContext:theContext];
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
NSData *theData = UIImagePNGRepresentation(theImage);
[theData writeToFile:@"/Users/<# your user #>/Desktop/button.png" atomically:NO];
UIGraphicsEndImageContext();
获得png后,将其用作按钮背景。
或者,您可以build the buttons programmatically(作者:Jeff Lamarche)。
答案 1 :(得分:5)
我写了几个类来为我写的计算器生成按钮。这些类根据标准颜色或RGB输入RGB值生成按钮。这些按钮位于Github上的BindleKit项目中:https://github.com/bindle/BindleKit
我对Change UIButton background color的回答描述了如何使用这些类以及在何处查找源代码。
要查看按钮的示例,请在Github项目中编译BKCatalog应用程序或查看屏幕截图https://github.com/bindle/BindleKit/blob/master/screenshots/BKCatalog-BKButtons.png
答案 2 :(得分:4)
您可以使用核心动画图层创建一个类似按钮的按钮。
http://www.cimgf.com/2010/01/28/fun-with-uibuttons-and-core-animation-layers/
答案 3 :(得分:4)
您需要为按钮创建背景图像。
然后将图像添加到按钮:
- (void)setImage:(UIImage *)image forState:(UIControlState)state
另外,对于可调整大小的按钮,请参阅:
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
您可以使用图形转换器,Photoshop等程序。
答案 4 :(得分:4)
在iOS 5下,你有UIAppearance。