编辑 - 这已被标记为重复,但正如我在下面所述,我正在寻找一个Swift解决方案.我发现的一切都是用Objective C写的.
我试图将HTML转换为NSAttributedString,但无法确定如何设置字体样式和大小.所有示例都在Objective C中,我不熟悉.如何将字体样式/大小设置为System 15(作为示例)
private func stringFromHtml(string: String) -> NSAttributedString? {
do {
let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
if let d = data {
let str = try NSAttributedString(data: d,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)
return str
}
} catch {
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
编辑......我尝试了几种方法.我无法让它发挥作用.我现在收到一条错误消息:表达式类型不明确,没有更多上下文.它指向NSAttributedString我尝试了以下内容:
let myAttribute = [ NSForegroundColorAttributeName: UIColor.blue ]
let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
if let d = data {
let str = try NSAttributedString(data: d,
attributes: myAttribute,
options: …Run Code Online (Sandbox Code Playgroud) 我刚刚升级到Xcode 8,在构建和运行我的项目时,大量信息被打印到调试区域.
这是一个示例:
016-09-14 08:37:54.394736 SmartTapp [8645:112431]子系统:com.apple.network,category :,enable_level:0,persist_level:0,default_ttl:0,info_ttl:0,debug_ttl:0,generate_symptoms:0 ,enable_oversize:0,privacy_setting:2,enable_private_data:0 2016-09-14 08:37:54.395777 SmartTapp [8645:112431] [] tcp_connection_create_with_endpoint_and_parameters 1 www.smarttapp.com 80 2016-09-14 08:37:54.397472 SmartTapp [ 8645:112431] [] tcp_connection_start 1开始
我怎么关掉这个?
我已经尝试过这里提出的建议但是没有用.隐藏奇怪的不需要的Xcode 8日志
我正在使用适用于iOS的Google Places API,可以成功检索附近的地点并将地址显示为字符串.我要做的是提取地址组件,如城市,以存储在数据库中.
文档表明GMSPlace有一个addressComponents属性(一个数组),但我似乎无法想象如何使用这个属性.
下面的代码提供了整个地址到标签的文本,但我不能超越:
编辑----添加了代码,显示我正在尝试访问地址组件
venueLabel.isHidden = false
venueLabel.text = selectedPlace?.name
addressLabel.isHidden = false
addressLabel.text = selectedPlace?.formattedAddress
let addressComponents = selectedPlace?.addressComponents
for component in addressComponents! {
let city = component["city"] //Error Type GMSPaceAddressComponent has no subscript members
print(city)
}
Run Code Online (Sandbox Code Playgroud) 我想增强下面的代码来缓存图像,只有在以前没有缓存它们时才下载它们.我似乎无法找到如何使用URLSession对象执行此操作的任何好例子.
extension UIImageView {
func loadImageWithURL(_ url: URL) -> URLSessionDownloadTask {
let session = URLSession.shared
let downloadTask = session.downloadTask(with: url, completionHandler: { [weak self] url, response, error in
if error == nil, let url = url,
let data = try? Data(contentsOf: url), let image = UIImage(data: data) {
DispatchQueue.main.async {
if let strongSelf = self {
strongSelf.image = image
}
}
}
})
downloadTask.resume()
return downloadTask
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个显示帖子列表的TableView.我想添加一个漂浮在TableView上的按钮,当用户滚动帖子时按钮不会移动.该按钮将使用户能够发布.我该如何实现呢?我似乎无法在我的tableview中添加superview.
谷歌Plus应用程序做类似的事情,但如果你没有该应用程序,官方网站也会出现这种行为.该按钮位于左下方.
谢谢!
有些人以前问过这个问题,但没有接受答案.
我有一个UITableViewCell包含一个UITextField.
如果我在textField外面略微点击,则该行突出显示.我想阻止这个.
为了防止它,我做以下事情:
override func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath! {
return nil
}
Run Code Online (Sandbox Code Playgroud)
这完全没问题.这是我的问题.本教程的作者指出:
请注意,只有在返回类型后面有问号(或感叹号)时,才允许从方法返回nil.
他的意思是你可以在可选的返回类型后面添加一个感叹号.为什么程序没有崩溃?在IndexPath返回类型之后放置感叹号后返回nil不会崩溃.我想 !会明确解开零并失败????
我有一个视图控制器和两个视图。我有一个叫名字的商店。我将插座连接到第一个视图上的标签,并且该值看起来不错。我在第二个视图上有另一个标签。当我将其连接到名称插座时,第一个视图上的连接断开。
任何想法?
谢谢
马丁
我有一个带按钮的Xib文件.单击按钮时,我想要转到另一个视图控制器.我在StoryBoard中的视图控制器之间创建了一个segue并创建了一个标识符,但似乎无法以编程方式调用它.
@IBAction func buttonAction(sender: UIButton)
{
self.performSegueWithIdentifier("SegueToPostDetail", sender: sender)
}
Run Code Online (Sandbox Code Playgroud)
Xcode错误是"....没有成员'performSequeWithIdentifier'
谢谢!
我想修剪这个字符串,以便我可以提取文件名,后面总是以"_"(下划线)开头.做这个的最好方式是什么?
https://s3.amazonaws.com/brewerydbapi/beer/RXI2cT/upload_FfAPfl-icon.png
我希望结果是FfAPfl-icon.png
我正在myTableview为该博客帖子添加分页.数据源是一组帖子,即posts = [post].
我最初拿了20个帖子.我有一个按钮,可以获取接下来的20条记录.所有这一切都很好.我无法想象如何在不调用的情况下在表中插入这些新记录reloadData().有人可以解释下面的代码吗?我不明白indexPaths下面第2和第3行发生了什么.上:
IndexPath(row:(self.posts.count - 1)
Run Code Online (Sandbox Code Playgroud)
我是否通过原始数据集的最后一行或更新的数据集?
TableView.beginUpdates()
let indexPath:IndexPath = IndexPath(row:(self.posts.count - 1), section:0)
TableView.insertRows(at: [indexPath], with: .left)
TableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)