小编Chr*_*men的帖子

带有GradientLayer的UIButton会遮挡图像并使渐变变暗

我在这里有一个UIButton,我想在图像下面有一个渐变作为背景(带有透明背景的符号),但我面临着两个不同的问题.

无论我如何尝试添加它,CAGradientLayer的第一个似乎都覆盖在图像的顶部,完全遮盖了图像.

其次,渐变本身似乎变暗了很多,就像按钮被禁用一样,但事实并非如此.

这是我的代码:

self.backButton = [[UIButton alloc] initWithFrame:CGRectMake(15, 35, 28, 28)];
[backButton addTarget:self
               action:@selector(goBack)
     forControlEvents:UIControlEventTouchUpInside];
[backButton setBackgroundColor:[UIColor clearColor]];
CAGradientLayer *buttonGradient = [CAGradientLayer layer];
buttonGradient.frame = backButton.bounds;
buttonGradient.colors = [NSArray arrayWithObjects:
                         (id)[[UIColor colorWithRed:.0
                                              green:.166
                                               blue:.255
                                              alpha:1] CGColor], 
                         (id)[[UIColor colorWithRed:.0
                                              green:.113
                                               blue:.255
                                              alpha:1] CGColor], 
                         nil];
[buttonGradient setCornerRadius:backButton.frame.size.width / 2];
[backButton.layer insertSublayer:buttonGradient
                         atIndex:0];
[backButton setImage:[UIImage imageNamed:@"backarrow.png"]
            forState:UIControlStateNormal];
[backButton setEnabled:NO];
[topbarView addSubview:backButton];
Run Code Online (Sandbox Code Playgroud)

uibutton calayer ios cagradientlayer

31
推荐指数
3
解决办法
7430
查看次数

UIView动画取消任何触摸输入?

我在这里有一个UIScrollView我在屏幕中间添加了一个标签,当用户滚动到一个页面时,问题是当动画进行时用户无法滚动到下一页(所有用户)在动画结束之前,似乎已禁用交互.

这是我显示标签的代码.

if(!scrollView.dragging)
    [UIView animateWithDuration:0.3
                          delay:0.3
                        options:UIViewAnimationOptionCurveEaseOut
                     animations:^(void){
                         [vesselNameLabel setFrame:frame];
                     }
                     completion:^(BOOL finished){}];
Run Code Online (Sandbox Code Playgroud)

那么我如何在滚动视图中摆脱这种取消用户交互?

cocoa-touch core-animation uiview uianimation ios

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

UIGraphicsGetCurrentContext似乎返回nil

我试图在这里将单个PDF页面转换为PNG,并且它完美地工作,直到UIGraphicsGetCurrentContext突然开始返回nil.

我试图在这里回溯我的步骤,但我不确定我知道这发生了什么.我的框架不是0,我看到可能会产生这个问题,但除此之外,一切"看起来"都是正确的.

这是我的代码的开头.

_pdf = CGPDFDocumentCreateWithURL((__bridge CFURLRef)_pdfFileUrl);
CGPDFPageRef myPageRef = CGPDFDocumentGetPage(_pdf, pageNumber);
CGRect aRect = CGPDFPageGetBoxRect(myPageRef, kCGPDFCropBox);
CGRect bRect = CGRectMake(0, 0, height / (aRect.size.height / aRect.size.width), height);
UIGraphicsBeginImageContext(bRect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
Run Code Online (Sandbox Code Playgroud)

任何人都知道还有什么可能导致零上下文?

pdf ios

16
推荐指数
3
解决办法
2万
查看次数

使用UIKeyCommand检测连续按键

是否可以连续按键?

我正在使用keyCommands:拦截在外部键盘上按下的箭头键,但每次按下我只能拨打1个电话.我希望只要按下按键,每隔X毫秒就可以进行多次调用,或者在按下按键和释放按键时调用.

这是我的代码:

- (NSArray *)keyCommands
{
    UIKeyCommand *upArrow = [UIKeyCommand keyCommandWithInput:UIKeyInputUpArrow
                                                modifierFlags:0
                                                       action:@selector(upArrow:)];
    UIKeyCommand *downArrow = [UIKeyCommand keyCommandWithInput:UIKeyInputDownArrow
                                                  modifierFlags:0
                                                         action:@selector(downArrow:)];
    UIKeyCommand *leftArrow = [UIKeyCommand keyCommandWithInput:UIKeyInputLeftArrow
                                                  modifierFlags:0
                                                         action:@selector(leftArrow:)];
    UIKeyCommand *rightArrow = [UIKeyCommand keyCommandWithInput:UIKeyInputRightArrow
                                                   modifierFlags:0
                                                          action:@selector(rightArrow:)];
    UIKeyCommand *leftArrowCmd = [UIKeyCommand keyCommandWithInput:UIKeyInputLeftArrow
                                                     modifierFlags:UIKeyModifierCommand
                                                            action:@selector(leftArrowCmd:)];
    UIKeyCommand *rightArrowCmd = [UIKeyCommand keyCommandWithInput:UIKeyInputRightArrow
                                                      modifierFlags:UIKeyModifierCommand
                                                             action:@selector(rightArrowCmd:)];
    UIKeyCommand *lCmd = [UIKeyCommand keyCommandWithInput:@"l"
                                             modifierFlags:UIKeyModifierCommand
                                                    action:@selector(lCmd:)];
    UIKeyCommand *rCmd = [UIKeyCommand keyCommandWithInput:@"r"
                                             modifierFlags:UIKeyModifierCommand
                                                    action:@selector(rCmd:)];
    UIKeyCommand *mCmd = [UIKeyCommand keyCommandWithInput:@"m"
                                             modifierFlags:UIKeyModifierCommand
                                                    action:@selector(mCmd:)];
    return @[upArrow, downArrow, leftArrow, rightArrow, leftArrowCmd, rightArrowCmd, lCmd, …
Run Code Online (Sandbox Code Playgroud)

keyboard keyboard-shortcuts uiresponder ios uikeycommand

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

AVFoundation(AVPlayer)支持格式?没有.vob或.mpg容器?

在Mac应用程序中使用AVPlayer从文件夹中全屏播放随机视频,但是当我尝试播放.vob文件或.mpg文件时,我只会看到一个持续视频持续的黑屏.

AVFoundation不支持从这些容器播放吗?我认为既然他们可以使用QuickTime Player库存,他们也可以使用AVPlayer.

macos video avfoundation avplayer

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

为什么Testflight中的崩溃日志不是Xcode中的符号?

我刚开始从Testflights获取我正在处理的预发布应用程序的崩溃报告,但无论出于何种原因,Xcode都没有正确地象征日志.

这就是我在Xcode中看到的

构建是可用的(在此版本的Xcode中构建,存档并上载到此计算机上),所以我在这里缺少什么?为什么这些崩溃日志不是象征性的?

crash xcode logging ios testflight

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

NSMenuItem,自定义视图和mouseUp的奇怪问题:

我在NSMenu有一个非常奇怪的问题.

我使用的大约一半的NSMenuItem通过NSMenuItem上的setView:方法对它们进行自定义视图.在这个自定义视图中,我实现了mouseUp:当用户点击菜单项时捕获,这在我第一次打开菜单时工作正常.

第二次,如果我在点击时保持鼠标稳定,则不会在任何这些菜单项上调用mouseUp.但是,如果我单击下来,然后稍微移动光标,并释放mouseUp被调用.所以出于某种原因,有些事情正在拦截这些事件,但只有第二次出现菜单,如果光标在mouseDown事件之后移动,它就会通过.(出于某种原因,在菜单的第一次或第二次出现时,mouseDown永远不会被调用).

有人知道这里可能会发生什么吗?什么是拦截我的鼠标事件,为什么它们会在菜单的第一次出现时传递到我的自定义视图,而不是第二次出现?

macos cocoa objective-c nsmenu nsmenuitem

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

Testflight抱怨用于签署应用程序的开发人员证书

突然,我在上传应用程序的新版本时开始从Testflight获取此信息:

此版本使用Developer证书进行签名,只能由启用了Developer功能的设备安装.我们建议使用分发配置文件进行签名以获得最佳结果.

我的用户在安装应用时遇到问题.我一次又一次地浏览了项目设置,但一切看起来都正确.

我已经将团队配置文件设置为调试和发布的配置文件,我甚至改为不同的团队,但仍然是同样的问题.

我在这里找错了地方吗?

certificate ios provisioning-profile testflight

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

iOS项目无法编译,只是在复制swiftdocs时没有错误

突然之间,我的一个项目将不再在Xcode中编译.它只是停留在"复制swiftdocs",永远不会过去.

在这里摊位

Xcode完全响应,此处的最后一行表示它已成功复制x86_64.swiftdoc.

我所有的旧项目都编译得很好.

尝试清除派生数据和所有Xcode缓存.我还在项目上做了一个干净整洁的构建文件夹.甚至删除了Xcode,再次从App Store下载了7.0.1,但仍然是同样的问题.

世界上有什么不对吗?

xcode compilation ios swift

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

基于NSDocument的Mac应用程序与文件捆绑,超级慢保存

所以在谷歌搜索后,我的理解是,当我在基于NSDocument的应用程序中使用捆绑包作为我的文档时,我必须在每次要保存时编写整个捆绑包?由于我正在向文档中添加大量视频文件,因此这开始出现问题.

有没有办法解决这个问题而不抛弃NSDocument?

cocoa bundle nsdocument

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