小编Reg*_*ion的帖子

iOS绘制填充圆圈

这里不是图形程序员,所以我试图绊倒这个.我正在尝试绘制9个实心圆圈,每个圆圈都有不同的颜色,每个圆圈都有一个白色边框.UIView的框架是CGRectMake(0,0,60,60).见附图.

问题是我在每边的边界上都有"扁平斑点".以下是我的代码(来自UIView子类):

- (void)drawRect:(CGRect)rect
{
    CGRect borderRect = CGRectMake(0.0, 0.0, 60.0, 60.0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
    CGContextSetRGBFillColor(context, colorRed, colorGreen, colorBlue, 1.0);
    CGContextSetLineWidth(context, 2.0);
    CGContextFillEllipseInRect (context, borderRect);
    CGContextStrokeEllipseInRect(context, borderRect);
    CGContextFillPath(context);
}
Run Code Online (Sandbox Code Playgroud)

如果我在drawRect中更改为CGRectMake(0,0,56,56),我只会在顶部和左侧看到平点,并且底部和右侧看起来很好.

任何人都可以建议我如何解决这个问题?在我看来,UIView正在修剪边界,但对此并不了解,我真的不知道如何修复它.

在此之前,感谢任何图形专家的建议.

在此输入图像描述

cgcontext drawrect ios

34
推荐指数
4
解决办法
4万
查看次数

XCODE 8升级后AVFoundation导入警告

Obj C项目; 刚更新到Xcode 8和iOS/10.应用似乎工作正常,然而,收到警告 -

"缺少子模块'AVFoundation.AVSpeechSynthesis'""缺少子模块'AVFoundation.AVAudioSession'"

这些消息出现在AVAudioSession和AVSpeechSynthesis的#import语句中.

有谁知道这是怎么回事?

TIA

warnings avfoundation ios10 xcode8

28
推荐指数
1
解决办法
5798
查看次数

ios7 UIWebView Youtube视频

我有一个UIWebView子类,我用它来播放youtube和本地视频.在iOS6下完美运行.升级到iOS7我遇到了一个问题,我真的不知道从哪里开始.虽然子类似乎仍能在iOS7模拟器上播放YouTube和本地视频,但当我在设备上播放youtube时,我会记录以下消息:

Sep 26 10:17:27 JRR-IPad SVOx[558] <Error>: CGContextSaveGState: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context  and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

Sep 26 10:17:27 JRR-IPad SVOx[558] <Error>: CGContextSetBlendMode: invalid context 0x0. This is a serious error. This application, or a library …
Run Code Online (Sandbox Code Playgroud)

ios ios7

12
推荐指数
1
解决办法
4163
查看次数

AVSpeechSynthesizer高品质的声音

是否可以在语音合成器中使用增强/高品质的声音(美国的Alex)?我已经下载了声音,但没有办法告诉合成器使用它而不是默认声音.

由于声音通常是由BCP-47编码选择的,并且只有美国英语,因此似乎没有办法进一步区分声音.我错过了什么吗?(人们会认为Apple可能已经考虑过对不同方言的需求,但我没有看到它).

TIA.

ios avspeechsynthesizer

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

iOS AVAudioPlayer奇怪的行为

我有一系列短的(1秒)声音片段我需要连续播放.正在为此目的开发一个班级.我正在使用以下代码:

- (void) playClip: (NSData *)clipToPlay
{
    NSError *error = nil;
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData: clipToPlay error:&error];
    audioPlayer.numberOfLoops = 0;
    audioPlayer.volume = 1.0f;
    [audioPlayer prepareToPlay];

    if (audioPlayer == nil)
        NSLog(@"%@", [error description]);
    else
        [audioPlayer play];
}
Run Code Online (Sandbox Code Playgroud)

可以看出,clipToPlay包含一个声音片段NSData.这段代码的行为很奇怪.如果我在调试器中运行它并在以下行设置断点:

[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)

剪辑按预期播放 - 调试器在线上暂停,当您单步执行时,剪辑可以完美播放.但是,如果我把断点拿出来,它根本就不会播放.

我已经尝试首先将其复制NSData到临时文件,结果完全相同.我也复制clipToPlay到另一个变量(使用副本,而不仅仅是一个指针赋值)具有相同的结果(我想也许clipToPlay在某处被破坏了).我没有收到错误记录.

我真的坚持为什么暂停调试器的播放方法会导致这种情况发生.有什么建议或想法吗?

objective-c avaudioplayer ios

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

我可以通过Airdrop发送/接收sqlite数据库吗?

是否可以使用Airdrop发送/接收我的应用程序从一个iPad使用的sqlite数据库(单个文件.sqlite)到另一个?如果是这样,我如何到达接收设备上的文件?

如果没有,在应用程序中,将文件发送到不同设备上的同一个应用程序的最佳选择是什么?文件将始终是一个sqlite数据库.

ios airdrop

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

arc4random_uniform 64位ios

在设备无关(32位/ 64位)方式中使用arc4random_uniform的最佳方法是什么?我有以下几行:

UIColor *itemColor = [colors objectAtIndex: (arc4random_uniform([colors count]))];
Run Code Online (Sandbox Code Playgroud)

在64位时,将[colors count]转换为arc4random_uniform的参数时会出现精度损失.在32位上它很好.

我要做的是重写这一行,以便在32位或64位下编译时不会发出警告.可以安全地假设[颜色计数]不会假设值大于16.感谢您的推荐.

64-bit ios

0
推荐指数
1
解决办法
949
查看次数