Iphone 可以在UITextView中更改光标颜色吗?

Iphone 可以在UITextView中更改光标颜色吗?,iphone,uikit,Iphone,Uikit,是否可以覆盖UITextView中光标和自动更正气泡的颜色?这是在内置的Notes应用程序中完成的,但我不知道是否是通过公共方式完成的 我在任何文档中都找不到这方面的任何参考,所以我担心这是UIKeyboard中的私有API集或其他东西。我遗漏了一些明显的东西吗?我找到了这个描述“隐藏”键盘的链接。看起来uitextraits具有CaretColor属性。可悲的是,我不认为在苹果公司的审查过程中弄乱这一点。除非他们没有注意到?有可能 虽然这个问题已经在这里得到了回答,但是有一些非常好的UIT的方

是否可以覆盖UITextView中光标和自动更正气泡的颜色?这是在内置的Notes应用程序中完成的,但我不知道是否是通过公共方式完成的


我在任何文档中都找不到这方面的任何参考,所以我担心这是UIKeyboard中的私有API集或其他东西。我遗漏了一些明显的东西吗?

我找到了这个描述“隐藏”键盘的链接。看起来
uitextraits
具有
CaretColor
属性。可悲的是,我不认为在苹果公司的审查过程中弄乱这一点。除非他们没有注意到?有可能


虽然这个问题已经在这里得到了回答,但是有一些非常好的
UIT的方法(读私有的)
(在iOS5和6b中测试:) 我假设阅读本文的人不是针对AppStore:p

其中包括:
插入点宽度:
显然没有效果。您需要在您的
UITextView
子类中重写
caretRectForPosition:
(uitedput协议的方法)

结果:


这些也很有趣: 小心使用后两个,因为其他文本视图/字段可能接受浮动或拆分键盘,并且当您的具有自定义输入特征的文本视图成为第一响应者时,键盘可能无法正确更新

要获取完整的方法列表,请执行以下操作:
-(void)printMethodsOfClass:(Class)类
{
无符号int methodCount=0;
NSLog(@“%@”,NSStringFromClass(class));
方法*mlist=class\u copyMethodList(class和methodCount);
对于(int i=0;i
在iOS 7+上,现在可以通过在文本字段上设置
tintColor
属性来完成此操作。

注意,未来的人们:这在iOS 7中很简单。这只是文本视图的
tintColor
。2009年的事情并不是那么简单。我们如何为IOS 6设置光标颜色?我不知道在IOS 6上有什么受支持的方法可以设置光标颜色。@Jeffamaphone感谢您的回复。。我正在使用代码[[textField valueForKey:@“TextInputRaits”]setValue:[UIColor redColor]forKey:@“insertionPointColor”];对于iOS 6。请让我知道,使用此代码,我的应用程序将被批准在应用程序商店中发布谢谢!只有苹果能告诉你这一点。如果你这么做了,你应该把它放在检查iOS 6的后面,并在更新的版本上使用
tintColor
UITextInputTraits *inputTraits = [_textView textInputTraits];
UIColor *purpleColor = [UIColor purpleColor];
[inputTraits setInsertionPointColor:purpleColor];
[inputTraits setInsertionPointWidth:1]; // Read below note
[inputTraits setSelectionHighlightColor:[purpleColor colorWithAlphaComponent:0.1]];
[inputTraits setSelectionDragDotImage:[UIImage imageNamed:@"CoolHandle"]];
[inputTraits setSelectionBarColor:purple];
[inputTraits setAcceptsFloatingKeyboard:NO];
[inputTraits setAcceptsSplitKeyboard:NO];
- (void)printMethodsOfClass:(Class)class
{
    unsigned int methodCount = 0;
    NSLog(@"%@", NSStringFromClass(class));
    Method *mlist = class_copyMethodList(class, &methodCount);
    for (int i = 0; i < methodCount; ++i){
        NSLog(@"%@", NSStringFromSelector(method_getName(mlist[i])));
    }
    NSLog(@"------------------------------------------------------------");
    free(mlist);
}

[self printMethodsOfClass:[[textview textInputTraits] class]];