【发布时间】:2016-12-19 22:36:57
【问题描述】:
我有几张图片是圆形的、深色的边框,中间有白色文字。我应该使用图像还是应该通过编程来创建这些按钮?
我不能 100% 确定在这种情况下最佳做法是什么。
编辑:只有少数图片可以支持这一点。
【问题讨论】:
-
务实是什么意思?
-
通过编程创建半径、背景颜色等
我有几张图片是圆形的、深色的边框,中间有白色文字。我应该使用图像还是应该通过编程来创建这些按钮?
我不能 100% 确定在这种情况下最佳做法是什么。
编辑:只有少数图片可以支持这一点。
【问题讨论】:
实际上,这完全取决于您,您更喜欢如何做到这一点,但我认为,如果您的按钮宽度是动态的,您需要以编程方式创建按钮并指定角半径和阴影。否则,如果您的按钮宽度和高度是固定的,那么您也可以将该图像用作按钮。
您可以通过在情节提要中拖放来设置漂亮的按钮并设置动态约束,然后提供边框和角半径。
btn.layer.borderWidth = 1;
btn.layer.borderColor =[UIColor grayColor].CGColor;
btn.layer.cornerRadius = 5;
btn.layer.shadowColor = [UIColor blackColor].CGColor;
btn.layer.shadowOpacity = 0.5f;
btn.layer.shadowRadius = 2.0f;
btn.layer.shadowOffset = CGSizeMake(2.0f, 2.0f);
【讨论】:
对于每张图片,您的项目大小都会增加。为了增加您的受众范围,您应该尝试使任何项目尽可能小。因此,虽然这是一种偏好调用,但我强烈建议为 UI 使用内置 IOS 类,并在您真正需要/想要它时节省图形和存储空间。
【讨论】:
示例代码:
float cornerRadius = SCREEN_WIDTH*(47.f/320.f);
[[button layer] setCornerRadius:cornerRadius/2.f];
[button layer].borderWidth = 2;
[button layer].borderColor = [UIColor colorWithRed:100/255.0 green:175/255.0 blue:249/255.0 alpha:1.0].CGColor;
button.layer.masksToBounds=YES;
[button layoutIfNeeded];
【讨论】: