我认为我想覆盖整个屏幕.我想将其框架设置为覆盖整个屏幕.浏览堆栈溢出我发现这两种不同的方式来设置视图框以覆盖屏幕:
[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds
Run Code Online (Sandbox Code Playgroud)
在我看来,他们总是返回相同的值,或者至少在我尝试的几个测试用例中.
目前我正在使用UIScreen,但我很想知道这些电话之间的区别?是否会出现一些他们会返回不同价值的情况?
我有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)
它第一次工作,但第二次按下按钮,没有任何反应.有人可以解释我在这里做错了什么吗?
我对其他编程语言有丰富的经验,但是对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中执行此操作的正确方法是吗?
我有一个矩阵,即数组数组。我想添加一些方法来更好地处理它作为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)
这些对象各不相同,有些是简单的字符串,有些则更复杂
我对处理图像有点新意,有很多我不知道的事情,所以请耐心等待.基本上我用相机拍摄图像,并将其呈现在里面UIImageView,这是小视图60:80.图像会自动调整大小以适应UIImageView,一切看起来都很好.
我的问题是 - 我是否需要做更多的图像操作(为了最大限度地提高效率),或者这就是全部?
我有图像,在那个图像中我想重复水平和垂直线,所以我扩展我的图像.
例如,我有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号线上图像上的所有像素.我想在任意数量的图像上进行.
我今天早上在我的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)
复制这个会解决问题,如果不是,我有失去某些东西的危险吗?
在阅读有关异常的 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. 我在这里缺少什么?
我画了椭圆:
CGContextFillEllipseInRect(contextRef, CGRectMake(50, 50, 50, 128));
Run Code Online (Sandbox Code Playgroud)
但我只需要一半的椭圆,有没有办法夹住另一半?
我正在按照本教程为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的系统没有多少经验,所以我该怎么办?