小编Sno*_*man的帖子

如何生成类似于iOS 7模糊视图的效果?

我试图从Apple公开发布的iOS 7示例屏幕中复制这个模糊的背景:

iOS 7 Control Center截图

这个问题建议对以下内容应用CI过滤器,但这是一种完全不同的方法.很明显iOS 7没有捕获下面视图的内容,原因有很多:

  1. 进行一些粗略测试,捕获下面视图的屏幕截图并应用具有足够大半径的CIGaussianBlur滤镜来模仿iOS 7的模糊样式需要1-2秒,即使在模拟器上也是如此.
  2. iOS 7模糊视图能够模糊动态视图,例如视频或动画,没有明显的延迟.

任何人都可以假设他们可以使用什么框架来创建这种效果,并且是否可以使用当前的公共API创建类似的效果?

编辑:(来自评论)我们并不完全知道Apple是如何做到的,但我们可以做出任何基本的假设吗?我们可以假设他们正在使用硬件,对吧?

效果是否在每个视图中都是自包含的,这样效果实际上并不知道它背后的含义是什么?或者,必须根据模糊的工作原理,考虑模糊背后的内容?

如果效果背后的内容是相关的,我们可以假设Apple正在接收下面内容的"提要"并持续呈现它们模糊吗?

graphics transparency ios

218
推荐指数
10
解决办法
13万
查看次数

数组扩展以按值删除对象

extension Array {
    func removeObject<T where T : Equatable>(object: T) {
        var index = find(self, object)
        self.removeAtIndex(index)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到了错误 var index = find(self, object)

'T'不能转换为'T'

我也试过这个方法签名:func removeObject(object: AnyObject)但是,我得到了同样的错误:

'AnyObject'不能转换为'T'

这样做的正确方法是什么?

arrays ios swift

140
推荐指数
6
解决办法
7万
查看次数

在UITextView上设置NSAttributedString上的字体忽略行间距

我正在尝试将属性字符串设置为iOS 6中的UITextView.问题是,如果我尝试在属性字符串上设置font属性,则会忽略行间距.但是,如果我没有设置字体,并使用默认字体,则行间距有效.

NSString *string = @" Hello \n world";
attrString = [[NSMutableAttributedString alloc] initWithString:string];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];

paragraphStyle.minimumLineHeight = 50;
// setting the font below makes line spacing become ignored
[attrString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:20] range:NSMakeRange(0, string.length)];
[attrString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, string.length)];

mainTextView.attributedText = attrString;
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

objective-c ios6

72
推荐指数
3
解决办法
13万
查看次数

Java数组,查找重复项

我有一个数组,我正在寻找重复.

duplicates = false;
for(j = 0; j < zipcodeList.length; j++){
    for(k = 0; k < zipcodeList.length; k++){
        if (zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当没有重复时,此代码不起作用.为什么?

java arrays

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

从UIPageViewController中删除视图控制器

奇怪的是,没有直接的方法来做到这一点.请考虑以下情形:

  1. 您有一个页面视图控制器有1页.
  2. 添加另一页(共2页)并滚动到它.
  3. 我想要的是,当用户滚动回第一页时,第二页现在被删除并取消分配,用户再也无法刷回该页面.

我已经尝试在转换完成后将视图控制器删除为子视图控制器,但它仍然允许我滚动回空页面(它不会"调整大小"页面视图)

我想做什么?

iphone cocoa-touch objective-c ios

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

Docker多个入口点

假设我有以下Dockerfile:

FROM ubuntu

RUN apt-get update
RUN apt-get install -y apache2
RUN apt-get install -y mongod #pretend this exists

EXPOSE 80

ENTRYPOINT ["/usr/sbin/apache2"]
Run Code Online (Sandbox Code Playgroud)

ENTRYPOINT命令使其apache2在容器启动时启动.我希望能够mongod在容器以命令启动时启动service mongod start.但是根据文档,ENTRYPOINTDockerfile中必须只有一个.那么这样做的正确方法是什么?

docker

45
推荐指数
6
解决办法
7万
查看次数

"指定的Android SDK Build Tools版本(26.0.0)将被忽略......"

在Android Studio 3中,我看到了这个问题:

指定的Android SDK Build Tools版本(26.0.0)将被忽略,因为它低于Android Gradle Plugin 3.0.0的最低支持版本(26.0.2).

将使用Android SDK Build Tools 26.0.2.

要取消此警告,请从build.gradle文件中删除"buildToolsVersion '26 .0.0'",因为每个版本的Android Gradle Plugin现在都有一个默认版本的构建工具.

问题是因为这些是第三方/供应商模块buildToolsVersion '26.0.0',我不能修改他们的build.gradle而不需要分配每个子模块.

有没有办法设置一个buildToolsVersion覆盖所有子build.gradles的全局?

android gradle android-studio android-gradle-plugin

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

NSManagedObjectContext performBlockAndWait:不在后台线程上执行?

我有一个NSManagedObjectContext声明如下:

- (NSManagedObjectContext *) backgroundMOC {
    if (backgroundMOC != nil) {
        return backgroundMOC;
    }
    backgroundMOC = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
    return backgroundMOC;
}
Run Code Online (Sandbox Code Playgroud)

请注意,它使用专用队列并发类型声明,因此其任务应在后台线程上运行.我有以下代码:

-(void)testThreading
{
    /* ok */
    [self.backgroundMOC performBlock:^{
        assert(![NSThread isMainThread]); 
    }];

    /* CRASH */
    [self.backgroundMOC performBlockAndWait:^{
        assert(![NSThread isMainThread]); 
    }];
}
Run Code Online (Sandbox Code Playgroud)

为什么调用performBlockAndWait在主线程而不是后台线程上执行任务?

iphone core-data objective-c ios

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

从头开始创建LinkedList类

我们被赋予了从头开始创建LinkedList的任务,并且绝对没有给出读数来指导我们这个由migrane引起的任务.此外,所有在线似乎只使用Java内置的LinkedList方法和东西.无论如何,链接列表在使用Java的默认内容时非常有意义,但是从头开始创建它没有任何意义.可以说我有

public class LinkedList {
  private LinkedList next;  
  private final String word;
  // constructor
  public LinkedList(String word, LinkedList next) {
    this.word = word;
    this.next = next;
  }
Run Code Online (Sandbox Code Playgroud)

因此神奇地我们有一个链表.到底是怎么回事?我是如何创建这样的链接列表的?这是如何运作的?我应该编写一个append方法,将给定的String word参数添加到thislinkedlist的末尾.我试着看看内置java链接列表类的addLast内置方法,但它对我没有帮助,因为我真的不明白发生了什么.任何人都在乎帮助我:)

java linked-list append data-structures

36
推荐指数
5
解决办法
17万
查看次数

在我的屏幕上安装iPhone 5模拟器?

Apple似乎只包含了iPhone 5(4英寸)模拟器的视网膜版本.这很棒,但太大了,无法放在我的屏幕上.几乎35%被切断了,我有一台23英寸的显示器.

是否有任何变通方法/黑客可以让它完全显示在我的屏幕上?Apple可能包含非视网膜(只是普通尺寸)的iPhone 5模拟器吗?

它们适用于iPhone 4,因此不确定为什么他们不会为iPhone 5包含相同的东西.

iphone ios ios6

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