小编Meg*_*anX的帖子

[UIScreen mainScreen] .bounds vs [UIApplcation sharedApplication] .keyWindow.bounds?

我认为我想覆盖整个屏幕.我想将其框架设置为覆盖整个屏幕.浏览堆栈溢出我发现这两种不同的方式来设置视图框以覆盖屏幕:

[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds
Run Code Online (Sandbox Code Playgroud)

在我看来,他们总是返回相同的值,或者至少在我尝试的几个测试用例中.

目前我正在使用UIScreen,但我很想知道这些电话之间的区别?是否会出现一些他们会返回不同价值的情况?

uiapplication bounds ios uiscreen

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

将UIButton旋转180度并将其旋转回来

我有UIButton,我希望在一个方向旋转180度,然后再旋转180度.我一直在做动画一段时间使用CABasicAnimation,但这次我想用变换来做.这是我写的代码:

- (IBAction)blurAction:(id)sender {
    if (self.blurActive) {
        [UIView animateWithDuration:0.1 animations:^{
            self.blurView.alpha = 0;
            self.blurButton.transform = CGAffineTransformMakeRotation(M_PI);
        } completion:^(BOOL finished) {
            self.blurActive = NO;
        }];
    }
    else {
        [UIView animateWithDuration:0.1 animations:^{
            self.blurView.alpha = 1;
            self.blurButton.transform = CGAffineTransformMakeRotation(-M_PI);
        } completion:^(BOOL finished) {
            self.blurActive = YES;
        }];
    }
}
Run Code Online (Sandbox Code Playgroud)

它第一次工作,但第二次按下按钮,没有任何反应.有人可以解释我在这里做错了什么吗?

objective-c rotation uibutton ios

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

正确进行快速轮询的方法?

我对其他编程语言有丰富的经验,但是对Swift 3则没有太多的经验。我想进行轮询循环。这是我写的:

DispatchQueue.global(qos: .userInitiated).async {
            [unowned self] in
            while self.isRunning {
                WebService.getPeople(completion: nil)
                sleep(100)
            }
        }
Run Code Online (Sandbox Code Playgroud)

这对我来说很好,每隔100秒进行一次轮询,然后使该线程休眠。我想知道的是,在Swift 3中执行此操作的正确方法是吗?

polling grand-central-dispatch swift

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

在swift中为多维数组添加数组扩展?

我有一个矩阵,即数组数组。我想添加一些方法来更好地处理它作为Array. 我想写这样的东西:

extension Array where Element == Array {
    // my methods
}
Run Code Online (Sandbox Code Playgroud)

但唉,这不会编译,因为我添加了递归定义。显然,我可以省略 part where Element == Array,但仅在适当的时候才显示这些方法似乎很不错。有没有其他方法可以实现?

编辑:根据@Leo Dabus 的建议,我将提供一些用例:

我有具有多个表视图控制器的应用程序。在它们中的每一个中,我都有部分和行。为了填充它们,我使用了两个数组:一个用于部分名称,另一个是对象(或结构)数组 -> 索引路径中的相应部分和行。所以我想编写基于索引路径的数组操作数组的方法。例如:

a[indexPath] = sender
Run Code Online (Sandbox Code Playgroud)

这些对象各不相同,有些是简单的字符串,有些则更复杂

arrays matrix ios swift

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

iOS大小调整图像大小?

我对处理图像有点新意,有很多我不知道的事情,所以请耐心等待.基本上我用相机拍摄图像,并将其呈现在里面UIImageView,这是小视图60:80.图像会自动调整大小以适应UIImageView,一切看起来都很好.

我的问题是 - 我是否需要做更多的图像操作(为了最大限度地提高效率),或者这就是全部?

iphone image-resizing

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

在iOS上扩展图像重复水平线和重复垂直线

我有图像,在那个图像中我想重复水平和垂直线,所以我扩展我的图像.

例如,我有50X50的图像,我希望它是50x70,重复行x = 15.这在iOS上是否可行?

编辑:

好的,我会试着更清楚.我有图像60x60,基本上是矩形,宽度为60,高度为60.现在我想通过重复x = 40的像素将图像拉伸为80x60.或者简单地绘制它,我有:

  123456
1 XXXAXX
2 XXXAXX
3 XXXAXX
4 XXXAXX
5 XXXAXX
6 XXXAXX
Run Code Online (Sandbox Code Playgroud)

我希望它是:

  12345678
1 XXXAAAXX
2 XXXAAAXX
3 XXXAAAXX
4 XXXAAAXX
5 XXXAAAXX
6 XXXAAAXX
Run Code Online (Sandbox Code Playgroud)

我重复了40号线上图像上的所有像素.我想在任意数量的图像上进行.

stretch uiimage ios

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

在小牛上安装可可豆荚

我今天早上在我的Mac上安装了小牛队,但似乎它已经用ruby gems做了一些事情...当我输入:

sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)

它打破了错误:

ERROR:  Error installing cocoapods:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h
Run Code Online (Sandbox Code Playgroud)

我浏览了网并找到了这个,有人说这有帮助,但在做之前,任何人都可以详细说明:

sys_rb_usr=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr
sdk_rb_usr=`xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr
sudo cp -r $sdk_rb_usr/include $sys_rb_usr/include
Run Code Online (Sandbox Code Playgroud)

复制这个会解决问题,如果不是,我有失去某些东西的危险吗?

ios cocoapods osx-mavericks

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

Swift 协议继承同名协议方法

在阅读有关异常的 swift 论坛时,我发现了一个有趣的问题。关于异常的例子之一是这样的:

protocol Base {
    func foo() throws -> Int
}

protocol Refined: Base {
    func foo() -> Int
}

struct Test: Refined {
    func foo() -> Int {
        0
    }
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,我认为它不会编译是错字,但它确实如此。我不确定这在幕后是如何工作的。我的意思是当协议采用另一个协议时,它也采用了它的要求。但在这种情况下,声明相同的方法而不抛出某种方式也满足第一个协议Base

至少我预计Test需要有 2 个foo. 我在这里缺少什么?

swift swift-protocols

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

iPhone如何剪掉一半的椭圆

我画了椭圆:

CGContextFillEllipseInRect(contextRef, CGRectMake(50, 50, 50, 128));
Run Code Online (Sandbox Code Playgroud)

但我只需要一半的椭圆,有没有办法夹住另一半?

iphone core-graphics ellipse draw clip

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

vi - 收到错误E212:无法打开文件进行写入

我正在按照本教程为git设置opendiff:http://thomashunter.name/blog/set-opendiff-filemerge-as-your-git-diff-tool-on-os-x/

我打开vi就像在教程中说的那样,写一些行并尝试:wq但是得到错误 - 错误E212:无法打开文件写入

我浏览了一下堆栈溢出,并试着打字

sudo vim ~/bin/git-diff.sh
Run Code Online (Sandbox Code Playgroud)

但我也得到了同样的错误.

我对基于unix的系统没有多少经验,所以我该怎么办?

unix vim osx-lion

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