有没有办法在iOS上的动作表中添加图像?与苹果做app应用商店或苹果音乐应用程序相同。我对apple docs的基本搜索表明我没有在Action Sheet中创建子类或添加子视图。
" UIActionSheet不是为子类设计的,也不应该在其层次结构中添加视图。" - Apple Docs
答案 0 :(得分:3)
要在操作表中添加图像,您需要执行以下操作...
<强>夫特强>
let image = UIImage(named: "myImageName")
let action = UIAlertAction(title: "Action 1", style: .default, handler: nil);
action.setValue(image?.withRenderingMode(.alwaysOriginal), forKey: "image")
目标C
UIAlertAction* action = [UIAlertAction actionWithTitle:@"Action 1" style:UIAlertActionStyleDefault handler:nil];
[action setValue:[[UIImage imageNamed:@"myImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forKey:@"image"];
干杯:)
答案 1 :(得分:1)
UIActionSheet
已弃用。
使用UIAlertController
及其UIAlertAction
。
看看Add Image to UIAlertAction in UIAlertController
答案 2 :(得分:1)
快速4:如果图像较大且不合适,请使用此代码和UIImage Extension调整图像大小:
func showAlert() {
let alertController = UIAlertController()
let action = UIAlertAction(title: "Title", style: .default) { (action: UIAlertAction!) in
}
if let icon = icon?.imageWithSize(scaledToSize: CGSize(width: 32, height: 32)) {
action.setValue(icon, forKey: "image")
}
alertController.addAction(action)
self.present(alertController, animated: true, completion: nil)
}
并使用此扩展名:
extension UIImage {
func imageWithSize(scaledToSize newSize: CGSize) -> UIImage {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
self.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height))
let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return newImage
}
}
答案 3 :(得分:0)
UIAlertController
与UIActionSheet
具有相同的限制,没有真正好的方法来自定义布局。
您可能希望查看提供功能等价物以及更好的自定义选项的SDCAlertView等库。
答案 4 :(得分:0)
在Swift中 它仅适用于UIAlertController操作表
for(int i = 0; i < worker size ; i++) {
Future future = completionService.take();
Object content = future.get();
}