【问题标题】:Customize UIButton to make compatible to iPhone 5自定义 UIButton 以兼容 iPhone 5
【发布时间】:2013-05-07 04:47:14
【问题描述】:

我正在开发我的应用程序以相应地自定义按钮。但是,一旦我相应地更改了我的按钮,现在它就变得没有反应了。你可以看到我的代码如下。顺便说一句,当我在 iPhone 4 上运行时,这个按钮仍然有效。真是奇怪! 一旦我改变了我的按钮位置,它就可以工作,但它不会在我想要的位置上工作!

   float screenSizeHeight=[UIScreen mainScreen].bounds.size.height;

   if(screenSizeHeight==568)
   [positionButton setFrame:CGRectMake(184,280,77,30)];

   if(screenSizeHeight==480)
   [positionButton setFrame:CGRectMake(184,240,77,30)];

手提包按钮不起作用!

【问题讨论】:

  • bringSubviewToFront 用于positionButton
  • 即使我换了位置,还是没有反应!还有 [self.view bringSubviewToFront:positionButton];还是不行
  • 你正在改变 x 位置仪式?但两者的宽度相同(仅限 320).. 所以.....你为什么要改变 xPostion
  • 我只是在改变 x 位置。
  • 请通过屏幕截图查看我更新的问题!

标签: ios xcode uibutton iphone-5


【解决方案1】:

检查您的状况:

 if(screenSizeHeight==568)

在这两种情况下,您都使用了screenSizeHeight == 568,因此将其中一种替换为screenSizeHeight = 480

希望对你有帮助。

【讨论】:

  • 或者只是一个 if { ... } ELSE { ... }
  • 您只在这两种情况下更改原点 x ?
  • 我检查了你的代码。它在我的最后工作正常。你做错了什么。你在使用自动布局吗?如果是,那么这也可能是造成这种情况的原因。
  • 我没有使用自动布局。它也适用于其他按钮,但不适用于此按钮!不知道为什么?
  • 你能做一件事吗。创建一个新按钮并连接其插座,然后检查它是否仍然不工作或工作。它可能以这种方式工作。
【解决方案2】:

检查您的Default-568h.png 图像是否被添加。如果未添加,则主屏幕将边界返回为320x480

注意: 1) 如果您旋转设备,请检查您的主屏幕边界。这可能会导致混乱。您可以尝试更好的方式来使用它。

2) 只有在使用 Xcode 4.5 和 iOS 6 SDK 构建应用程序时才允许使用 Default-568h.png

3) 当您向UIScreen 询问它的边界时,您会得到屏幕的边界,即整个设备屏幕。 (状态栏是屏幕的一部分)

【讨论】:

  • 我觉得应该不是这个原因。因为他也在为其他按钮设置框架。但在这种情况下,框架正在发生变化。
  • 已添加默认图像并正常工作。现在,一旦我改变了我的按钮位置,它就可以工作,但它不会在我想要的位置上工作!
  • @NishantTyagi 在他的问题中他提到,它在 iPhone5 中反应迟钝。这意味着,iPhone5 Checks 不成立。所以 Frame 不会根据他的问题而改变。
  • @casillas 抱歉,我可以看到很多按钮,请说明要更改哪个按钮的框架。
  • 刚刚在图片顶部添加了这个描述。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-06
  • 2012-11-17
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
相关资源
最近更新 更多