【问题标题】:iOS: Should I create my buttons through programming or use imagesiOS:我应该通过编程还是使用图像来创建按钮
【发布时间】:2016-12-19 22:36:57
【问题描述】:

我有几张图片是圆形的、深色的边框,中间有白色文字。我应该使用图像还是应该通过编程来创建这些按钮?

我不能 100% 确定在这种情况下最佳做法是什么。

编辑:只有少数图片可以支持这一点。

【问题讨论】:

  • 务实是什么意思?
  • 通过编程创建半径、背景颜色等

标签: ios image scaling


【解决方案1】:

实际上,这完全取决于您,您更喜欢如何做到这一点,但我认为,如果您的按钮宽度是动态的,您需要以编程方式创建按钮并指定角半径和阴影。否则,如果您的按钮宽度和高度是固定的,那么您也可以将该图像用作按钮。

您可以通过在情节提要中拖放来设置漂亮的按钮并设置动态约束,然后提供边框和角半径。

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);

【讨论】:

    【解决方案2】:

    对于每张图片,您的项目大小都会增加。为了增加您的受众范围,您应该尝试使任何项目尽可能小。因此,虽然这是一种偏好调用,但我强烈建议为 UI 使用内置 IOS 类,并在您真正需要/想要它时节省图形和存储空间。

    【讨论】:

      【解决方案3】:
      • 将 UIButton 拖放到控制器中
      • 根据需要为它们设置背景颜色
      • 用白色设置居中标题
      • 使用 setCornerRadius 对它们进行四舍五入
      • 并在舍入时设置边框颜色。

      示例代码:

      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];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-17
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        • 2011-07-19
        • 1970-01-01
        • 2011-05-31
        • 1970-01-01
        相关资源
        最近更新 更多