相关疑难解决方法(0)

如何在iOS 7中的UITextView中设置属性文本的颜色和对齐方式?

我的textViews的格式在iOS 6中运行良好,但不再在iOS 7中运行.我理解使用Text Kit的内容已经发生了很大变化.它变得非常令人困惑,我希望有人可以通过帮助我做一些简单的事来帮助理顺它.

我的静态UITextView最初被分配了一个值textColortextAlignment属性.然后我做了一个NSMutableAttributedString,为它分配了一个属性,然后将它分配给textView的attributedText属性.对齐和颜色在iOS 7中不再生效.

我怎样才能解决这个问题?如果这些属性不起作用,为什么它们不再存在?这是textView的创建:

UITextView *titleView = [[UITextView alloc]initWithFrame:CGRectMake(0, 90, 1024, 150)];
titleView.textAlignment = NSTextAlignmentCenter;
titleView.textColor = [UIColor whiteColor];

NSMutableAttributedString *title = [[NSMutableAttributedString alloc]initWithString:@"Welcome"];
UIFont *font = [UIFont fontWithName:@"Avenir-Light" size:60];
[title addAttribute:NSParagraphStyleAttributeName value:font range:NSMakeRange(0, title.length)];
titleView.attributedText = title;

[self.view addSubview:titleView];
Run Code Online (Sandbox Code Playgroud)

uitextview nsattributedstring ios textkit

33
推荐指数
1
解决办法
5万
查看次数

UITextInput setMarkedText:selectedRange不工作?(不能!)

我想以编程方式设置标记文本,因为iOS5 UITextView和UITextField符合UITextInput,这应该是可能的,但由于某种原因,我总是得到markedText为零.:(我在这里失踪了什么?

这是我试过没有成功的:

(虽然textview是firstResponder)

1.-当文本视图不包含文本时:

text:"",selectedRange:{0,0},markedText:nil.

[_textView setMarkedText:@"?" selectedRange:NSMakeRange(0, 1)];
Run Code Online (Sandbox Code Playgroud)

结果: text:"",selectedRange:{0,0},markedText:nil.(没有改变)


2.-当文本视图包含文本+一些标记文本时:

文字:"AAA",selectedRange = {0,3},最后标记文字:"太阳"然后我做:

[_textView setMarkedText:@"?" selectedRange:NSMakeRange(0,3)];
Run Code Online (Sandbox Code Playgroud)

结果: text:"AAA",selectedRange:{0,3},markedText:nil; (标记的文字为零)


在这两种情况下,就像setMarkedText:selectedRange:将当前标记的文本(如果有的话)设置为nil一样.

任何帮助将非常感谢:)

UPDATE

由于标记文本的概念似乎不清楚,这里有一个解释:

在多阶段输入语言(例如日语)中,您可以输入常规文本(如英语)或输入标记文本(如日语).

在这里我写了常规文本:regular text然后我写了标记文本? 然后我写了标记文本,?所以它被附加成为??.

标记文本(蓝色框中的文本)表示过渡或中间输入阶段,因为它可以变成其他称为候选者的字符/单词.候选人出现在大盒子里.

此屏幕截图是在iPad中使用蓝牙键盘时拍摄的,但在编写日语时使用软件键盘时会得到类似的结果.

在编写?textview 之前是:

textView.text : "regular text"
textView.selectedRange : {12,0}
textView.markedText:nil
Run Code Online (Sandbox Code Playgroud)

然后我写?了,文本视图变成了:

textView.text : "regular text?"
textView.selectedRange : {13,0}
textView.markedText: "?"
Run Code Online (Sandbox Code Playgroud)

然后我写?了,文本视图变成了:

textView.text : "regular text??"
textView.selectedRange : {14,0}
textView.markedText: "??"
Run Code Online (Sandbox Code Playgroud)

这是文本视图的当前状态. …

iphone objective-c uitextview uitextinput

6
推荐指数
1
解决办法
3594
查看次数