相关疑难解决方法(0)

你如何使用NSAttributedString?

多种颜色NSStringNSMutableStrings不可能.所以我听说过一些关于iPad SDK 3.2(或3.2左右)NSAttributedString引入的内容,并且可以在iPhone SDK 4.0 beta版iPhone上获得.

我想要一个有三种颜色的字符串.

我不使用3个单独的NSStrings的原因是因为三个NSAttributedString子串中的每个子串的长度经常变化,所以我更喜欢,不使用任何计算来重新定位3个单独的NSString对象.

如果可以使用NSAttributedString我如何进行以下操作 - (如果不能使用NSAttributed字符串,你会怎么做):

替代文字

编辑: 请记住,@"first",@"second"@"third"会在任何时间其他字符串替换.因此,使用硬编码的NSRange值将不起作用.

textcolor nsattributedstring ios4 ios

305
推荐指数
7
解决办法
23万
查看次数

如何控制UILabel中的行间距

当放入多行中时,是否可以缩小文本之间的差距UILabel?我们可以设置框架,字体大小和行数.我想减少该标签中两行之间的差距.

xcode objective-c uilabel swift line-spacing

261
推荐指数
12
解决办法
21万
查看次数

检测iOS中UITextView中属性文本的点击

我有一个显示NSAttributedString的UITextView.这个字符串包含我想要点击的单词,这样当它们被点击时我会被回叫以便我可以执行一个动作.我意识到UITextView可以检测URL上的点击并回调我的委托,但这些不是URL.

在我看来,iOS7和TextKit的强大功能现在应该可行,但我找不到任何示例,我不知道从哪里开始.

我知道现在可以在字符串中创建自定义属性(虽然我还没有这样做),也许这些对于检测是否有一个神奇的单词被点击是有用的?在任何情况下,我仍然不知道如何拦截该敲击并检测敲击发生在哪个单词上.

请注意,不需要iOS 6兼容性.

objective-c uitextview ios textkit

114
推荐指数
7
解决办法
6万
查看次数

iPhone系统字体

iPhone上默认系统字体的名称是什么?

我想检索这个来定制一个UIView.

iphone fonts ios typeface

96
推荐指数
6
解决办法
22万
查看次数

如何在Swift中创建范围?

在Objective-c中,我们使用NSRange创建范围

NSRange range;
Run Code Online (Sandbox Code Playgroud)

那么如何在Swift中创建范围呢?

range swift

95
推荐指数
3
解决办法
10万
查看次数

Swift扩展示例

我原本想知道如何制作这样的东西

UIColor.myCustomGreen
Run Code Online (Sandbox Code Playgroud)

这样我就可以定义自己的颜色并在整个应用程序中使用它们.

之前我曾经研究过扩展,我认为我可以用它们来解决我的问题,但我不记得究竟如何设置扩展.在撰写本文时,在Google上搜索"Swift扩展"会导致文档,几个长篇教程以及一个相当无用的Stack Overflow 问题.

所以答案就在那里,但需要深入研究文档和教程.我决定写这个问题和以下答案,为Stack Overflow添加一些更好的搜索关键字,并快速回顾一下如何设置扩展.

具体来说我想知道:

  • 扩展位于何处(文件和命名约定)?
  • 什么是扩展语法?
  • 有几个简单的常用例子?

extension-methods swift

77
推荐指数
3
解决办法
7万
查看次数

如何将文本阴影应用于UITextView?

其实我爱UILabel.他们很甜蜜.现在我不得不去,UITextView因为UILabel没有垂直对齐文本到顶部.该死的.我真正需要的是文字阴影.UILabel有它.UITextView好像没有它.但我猜那家伙只是使用相同的底层UIKit NSString加法?也许有人已经有解决这个问题的方法?我会覆盖什么?

iphone uitextview ios

44
推荐指数
5
解决办法
2万
查看次数

UITableView titleForHeaderInSection显示所有大写字母

我使用titleForHeaderInSection来显示UITableView部分的标题.它适用于iOS6 SDK,但iOS7 SDK在所有CAPS中都显示了标题.

我想这是Apple更新的人机界面指南的一部分; 所有示例都显示所有大写的标题.此外,我的iPhone上的设置中的所有部分标题都是全部大写.

但是,我想知道是否有办法解决这个问题.通常情况下,我不介意显示大写,如果这可以提高一致性,但当我需要在节标题中显示人的名字时,它有点尴尬.

任何人都知道如何绕过大写?

header objective-c capitalization uitableview

44
推荐指数
5
解决办法
3万
查看次数

替换NSAttributedString中的整个文本字符串而不修改其他属性

我有一个参考NSAttributedString,我想更改属性字符串的文本.

我想我必须创建一个新的NSAttributedString并使用这个新字符串更新引用.但是,当我这样做时,我失去了之前字符串的归属.

NSAttributedString *newString = [[NSAttributedString alloc] initWithString:text];
[self setAttributedText:newString];
Run Code Online (Sandbox Code Playgroud)

我参考了旧的属性字符串self.attributedText.如何保留新字符串中的先前属性?

objective-c nsattributedstring ios

31
推荐指数
3
解决办法
3万
查看次数

如何在NSAttributedString上设置字体大小

编辑 - 这已被标记为重复,但正如我在下面所述,我正在寻找一个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)

objective-c nsattributedstring ios

24
推荐指数
3
解决办法
3万
查看次数