iOS UIAlertController 粗体按钮在 8.3 中发生了变化

ios

1个回答

写回答

kkkwwww

2025-07-07 19:30

+ 关注

IOS
IOS

IOS UIAlertController 粗体按钮的变化

在IOS 8.3更新中,开发者们注意到了一个重要的变化——UIAlertController的粗体按钮样式发生了改变。在之前的版本中,UIAlertController的按钮文本默认是粗体显示的,但在IOS 8.3中,这个默认样式发生了变化,按钮文本不再是粗体显示了。

这个变化引起了一些开发者的关注,他们开始研究如何在IOS 8.3及以后的版本中实现粗体按钮样式。为了解决这个问题,他们发现了一个简单的解决办法,即使用NSAttributedString来设置按钮文本的样式。

使用NSAttributedString设置按钮文本样式的方法如下:

Swift

let alertController = UIAlertController(title: "标题", message: "消息内容", preferredStyle: .alert)

let action = UIAlertAction(title: "按钮标题", style: .default, handler: nil)

let attributedTitle = NSAttributedString(string: "按钮标题", attributes: [.font: UIFont.boldSystemFont(ofSize: 17)])

action.setValue(attributedTitle, forKey: "attributedTitle")

alertController.addAction(action)

以上代码通过创建一个NSAttributedString对象,并为其设置字体样式,然后使用setValue(_:forKey:)方法将这个NSAttributedString对象应用到按钮的attributedTitle属性上,从而实现了按钮文本的粗体显示。

这个解决办法非常简单且有效,让开发者们能够在IOS 8.3及以后的版本中继续使用粗体按钮样式。

案例代码

下面是一个使用UIAlertController创建带有粗体按钮的弹窗的案例代码:

Swift

let alertController = UIAlertController(title: "提示", message: "是否确认删除?", preferredStyle: .alert)

let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)

let deleteAction = UIAlertAction(title: "删除", style: .destructive, handler: { (_) in

// 处理删除操作

})

let attributedCancelTitle = NSAttributedString(string: "取消", attributes: [.font: UIFont.boldSystemFont(ofSize: 17)])

let attributedDeleteTitle = NSAttributedString(string: "删除", attributes: [.font: UIFont.boldSystemFont(ofSize: 17)])

cancelAction.setValue(attributedCancelTitle, forKey: "attributedTitle")

deleteAction.setValue(attributedDeleteTitle, forKey: "attributedTitle")

alertController.addAction(cancelAction)

alertController.addAction(deleteAction)

present(alertController, animated: true, completion: nil)

以上代码创建了一个带有取消和删除按钮的弹窗,其中取消按钮使用了粗体文本样式,删除按钮也使用了粗体文本样式。这样就能够在IOS 8.3及以后的版本中实现粗体按钮的显示效果。

在IOS 8.3更新中,UIAlertController的粗体按钮样式发生了变化,不再是默认的粗体显示。但开发者们可以通过使用NSAttributedString来设置按钮文本的样式,从而实现粗体按钮的显示效果。以上介绍了如何使用NSAttributedString来设置按钮文本样式,并提供了一个案例代码来演示如何创建带有粗体按钮的弹窗。这个解决办法简单且有效,让开发者们能够在IOS 8.3及以后的版本中继续使用粗体按钮样式。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号