小编Bre*_*don的帖子

VoiceOver在UITextView的两侧查找"清空行"

我有一个表视图,其中每个单元格只包含一个UITextView,设置如下:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
// Declare and set text & frame
...
UITextView *textView = [[UITextView alloc] initWithFrame:frame];
textView.backgroundColor = [UIColor clearColor];
textView.editable = NO;
textView.font = font;
textView.scrollEnabled = NO;
textView.text = text;
[cell.contentView addSubview:textView];
Run Code Online (Sandbox Code Playgroud)

当我使用VoiceOver进行测试时,我可以在文本视图中文本的左右边缘找到两个只是小空项目的地方,VoiceOver在其中显示"空行".如果我有一个多行字符串,例如@"multiple\nlines",那么在第一行的右边缘有一个"空行",而在第二行的左边缘有另一行.我找不到第一行左边或第二行右边的"空行",但据我所知,他们很难找到.

为什么VoiceOver会找到这些"空行"?我怎么摆脱他们?

uitextview ios voiceover

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

在有限数量的线程上并行订阅ReactiveCocoa信号

我订阅了这样创建的信号:

RACSignal *signal = [[RACSignal createSignal:^(... subscriber) {
    for (int i = 0; i < 100; i++) {
        [subscriber sendNext:[[RACSignal createSignal:^(... subscriber2) {
            NSString *string = someFunctionThatTakesALongTime(i);
            [subscriber2 sendNext:string];
            [subscriber2 sendComplete];
            return nil;
        }] setNameWithFormat:@"inside signal"]];
    }

    [subscriber sendComplete];
    return nil;
}] setNameWithFormat:@"outside signal"];

int n = 4;
[[signal flatten:n] subscribeNext:^(NSString *string) { ... }];
Run Code Online (Sandbox Code Playgroud)

我想并行-flatten:订阅n信号.我尝试-startLazilyWithScheduler:block:使用[RACScheduler scheduler]"内部信号",但这会让我的计算机停止运转.在Instruments中,看起来它正在为每个信号创建一个新线程.

此代码的先前版本作为NSOperations添加到NSOperationQueue,NSOperationQueue设置为n并行运行.它有效,但我可以更容易使用RAC.

我如何-flatten: n从信号信号中一次发出信号,以便内部信号分别在相同的n线程上运行?

=====================================

更新:我正在咆哮错误的树; 我的性能问题是由于物理RAM耗尽.我猜想有些物体的寿命太长,导致我的记忆问题.我偶然在某些时候解决了我的内存使用问题,同时重构了更多地使用RAC.我不知道人们是否会从看到我的代码中受益,但这里是:

我使用以下代码消耗了外部信号:

[[[self …
Run Code Online (Sandbox Code Playgroud)

objective-c reactive-cocoa

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

标签 统计

ios ×1

objective-c ×1

reactive-cocoa ×1

uitextview ×1

voiceover ×1