小编adr*_*aan的帖子

如何为现有UITextView打开和关闭autocorrectionType

我的iPhone应用程序中有一个UITextView,我希望能够切换autocorrectionType.

当用户正在编辑文本视图时,我希望将autocorrectionType设置为UIAutocorrectionTypeYes.当没有编辑文本视图时,我希望将autocorrectionType设置为UIAutocorrectionTypeNo(因为我不希望自动更正生成的任何红点划线都可见)

只需切换autocorrectionType,如下所示:

myTextView.autocorrectionType = UITextAutocorrectionTypeYes;
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
Run Code Online (Sandbox Code Playgroud)

似乎没有用.我何时可以切换autocorrectionType或在哪些情况下更改的autocorrectionType生效?

编辑:

澄清一下:初始化UITextView时设置autocorrectionType没有问题.当我想要更改现有UITextView的autocorrectionType时,会出现问题.在我的情况下,我想在编辑UITextView时为用户提供自动更正的优势,但是当UITextView没有被编辑时,不希望用红色虚线下划线指出任何拼写错误 - 部分是因为我也在导出UIView包含UITextView作为图像.问题是只更改我的UITextView的autocorrectionType属性的值不起作用.

cocoa-touch objective-c autocorrect uitextview

18
推荐指数
2
解决办法
7316
查看次数

如何更新MKPolyline/MKPolylineView?

我正在尝试创建一个定期更新的折线(MKPolyline)叠加层,以模拟对象的移动.我可以通过删除旧的叠加层,更新折线并再次添加叠加层来实现此目的,但这会导致闪烁.

对于一个点注释(MKPointAnnotation),你可以简单地改变其坐标,视图将无需拆卸和重新添加注释,可以自动地更新顺利.

这也可能以某种方式覆盖?

iphone objective-c mapkit ios4

15
推荐指数
2
解决办法
8753
查看次数

如何使用NSMutableAttributedString呈现多行UILabel

我正在尝试使用NSMutableAttributedString创建多行UILabel.当我将属性分配给完整的字符串时,这样可以正常工作:

UILabel *contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,200,100)];
[contentLabel setLineBreakMode:NSLineBreakByWordWrapping];
[contentLabel setNumberOfLines:0];
[contentLabel setFont:[UIFont systemFontOfSize:13];

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"hello I am a long sentence that should break over multiple lines"];
[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(0, [string length])];

contentLabel.attributedText = string;
Run Code Online (Sandbox Code Playgroud)

但我需要的是为NSAttributedString的不同子范围应用许多属性(以加粗某些单词).

UILabel *contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,200,100)];
[contentLabel setLineBreakMode:NSLineBreakByWordWrapping];
[contentLabel setNumberOfLines:0];
[contentLabel setFont:[UIFont systemFontOfSize:13];

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"hello I am a long sentence that should break over multiple lines"];
[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:13] range:NSMakeRange(3, 5)];

contentLabel.attributedText = …
Run Code Online (Sandbox Code Playgroud)

objective-c multiline nsattributedstring uilabel ios6

13
推荐指数
1
解决办法
8638
查看次数

Core Data是否对字符串的长度施加限制?

我想知道在iOS中使用Core Data存储的字符串长度是否有任何限制.(除了设备上的可用RAM或磁盘空间)

core-data objective-c nsstring ios

8
推荐指数
2
解决办法
5486
查看次数

通过iPhone上的着色器处理视频时捕获视频

我正在尝试开发一个处理/过滤和录制视频的iPhone应用程序.

我有两个示例应用程序,它们具有我需要的方面,并且正在尝试将它们组合在一起.

  1. 来自WWDC10示例代码包的AVCamDemo(需要Apple Developer ID)
    这涉及捕获/录制视频.

  2. 此处引用的Brad Larson的ColorTracking示例应用程序
    使用OpenGL ES处理视频的实时处理

我试图将两者结合起来时陷入困境.

我一直在尝试做的是通过OpenGL ES 使用AVCaptureVideoOutputAVCaptureVideoDataOutputSampleBufferProtocol处理/过滤视频帧(如在-2-中),同时以某种方式用于AVCaptureMovieFileOutput记录处理过的视频(如-1-).

这种方法可行吗?如果是这样,我怎么需要在AVSession?内建立连接?

或者我是否需要使用AVCaptureVideoDataOutputSampleBufferProtocol处理/过滤视频然后将各个帧重新组合成电影 - 而不使用AVCaptureMovieFileOutput保存电影文件?

任何有关实现这一目标的最佳方法的建议都非常感谢!

iphone opengl-es objective-c avfoundation

6
推荐指数
0
解决办法
3914
查看次数

如何在右对齐的UITextView中强制尾随空格?

我有一个UITextView,可以是左对齐,右对齐或居中.我注意到如果我右对齐textView,则会忽略textView中任何文本行中的任何尾随空格.左对齐时前导空格不会发生这种情况.

在视觉上这是发生的事情(使用' - '可视化空间):

左对齐:

-some-text-
Run Code Online (Sandbox Code Playgroud)

相同的文字右对齐:

--some-text
Run Code Online (Sandbox Code Playgroud)

添加更多文本,将尾随空格带回正确的位置:

-some-text-b
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么这是或如何强制右对齐文本在右侧显示尾随空格.有什么建议?

objective-c text-alignment nsstring uitextview uikit

5
推荐指数
0
解决办法
204
查看次数

在iOS7.1中共享时取消UIActivityViewController

我正在使用a UIActivityViewController来共享视频文件.视频文件在使用之前共享之前生成UIActivityItemProvider.

由于文件生成和共享可能需要一段时间才能播放更长的视频,因此用户可以取消共享操作非常重要.

这一切在iOS7.0中都没有问题.用户可以随时点击取消按钮UIActivityViewController,共享操作被取消.

在iOS7.1.1上测试相同功能时,在执行共享操作时点击取消按钮不再有效.就像主线程被阻塞一样,但所有共享代码都在后台线程上执行.

我在这里缺少什么,或者iOS7.1中是否存在已知问题/变化?(我在发行说明中找不到任何内容)

UPDATE

感谢所有的评论.

进一步调试似乎表明可能存在线程问题.我的UIActivityItemProvider'sitem方法使用信号量来创建基于块的异步导出方法defacto synchronous.因此也阻止它正在执行的线程.我认为这应该不是问题,因为该-(void)item方法的文档说:

在您的应用的辅助线程上调用此方法.

在iOS7.0下,UIActivityItemProvider's取消方法是从另一个线程调用而不是使用信号量的线程(正如文档所预期的那样),但是在iOS7.1下,是否可以从同一个(被阻塞的)线程调用它,导致它永远不会被执行?我无法测试这个,因为取消方法永远不会被执行,我不负责调用它.

有没有另一种方法可以强制我的导出方法同步执行而不会阻塞?基本上我的问题是UIActivityItemProvider'item方法有一个长时间运行的导出方法,但是`UIActivityItemProvider仍然需要能够在导出时接收取消调用.

objective-c sharing uikit ios uiactivityviewcontroller

5
推荐指数
0
解决办法
584
查看次数

在pod更新期间Cocoapods错误

我一直在使用Cocoapods在我的项目上没有任何问题,但今天我在尝试更新特定项目的pod时突然遇到此错误:

[!] Pod :: Executable pull

您的配置指定与ref'master'合并

从遥控器,但没有提取这样的参考.

我一直试图弄清楚导致这个问题的原因但无济于事(它发生在"分析依赖关系"阶段使用Cocoapods的所有项目中).

有谁知道造成这种情况的原因(以及如何解决)?

git dependencies objective-c ios cocoapods

4
推荐指数
1
解决办法
3212
查看次数