iOS 8 |将图像添加到UIActionSheet的按钮

时间:2014-10-04 13:47:32

标签: ios objective-c uiactionsheet

在iOS 7及更低版本中,我在UIActionSheet的按钮上添加了自定义图像,但它似乎无法在iOS 8上运行并崩溃! ,这是代码:

  [[[sheet valueForKey:@"_buttons"] objectAtIndex:0] setImage:[UIImage imageNamed:@"image"] forState:UIControlStateNormal];

因以下原因导致崩溃:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIActionSheet 0x16d4abf0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key _buttons.'
*** First throw call stack:

2 个答案:

答案 0 :(得分:2)

弄乱UIActionSheet的外观/细节总是错误的。在iOS 7和iOS 8上,正确的解决方案是使用一个呈现的视图控制器,其视图看起来像,就像一个操作表 - 但现在它是你的视图,你可以配置它然而你等。

答案 1 :(得分:1)

在iOS8中不推荐使用

UIActionSheet,您可能希望使用UIAlertController样式的新UIAlertControllerStyleActionSheet

我同意matt,你不应该使用肮脏的方式来定制UIActionSheet,让UIActionSheet看起来像你想要的最安全和最好的方法是创建你的。