小编Arb*_*tur的帖子

更改NavigationItem提示时的奇怪动画

我在故事板中添加了这些ViewControllers:

在此输入图像描述

没有与自定义类相关联,一切都来自纯故事板.

iOS7上iPhone模拟器上的视频

这仅在iOS7上使用AutoLayout时发生.

有人见过这个吗?

下载问题的示例项目

storyboard uikit uinavigationcontroller uiviewanimation ios

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

扩展字典,其中Key的类型为String

我想扩展一个Dictionary的方法,但只有当Key是String类型时.

我试着这样做:

extension Dictionary where Key: String {
    mutating func lowercaseKeys() {
        for key in self.keys {
            self[key.lowercase] = self.removeValueForKey(key)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并得到错误:

键入'Key'约束为非协议类型'String'

基于此错误消息,我可以告诉我只能通过协议进行这种过滤...有没有办法绕过这个?

dictionary protocols extend swift swift2

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

无法检查CGPoint是否与CGPointZero不相同

CGPoint在一个UIView类中声明了,在我viewController尝试检查是否CGPoint不相等CGPointZero,但是我得到了这个错误:Invalid operands to binary expression ('CGPoint' (aka 'struct CGPoint') and 'CGPoint')

这是if语句:

if (joystick.velocity != CGPointZero)
Run Code Online (Sandbox Code Playgroud)

错误指向!=我不知道它为什么会给我一个错误.

joystickUIView类,CGPoint velocity声明如下:

@property(nonatomic) CGPoint velocity;

if-statement cgpoint ios

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

作为AnyObject的Swift闭包

我试图使用这种方法:class_addMethod()在Obj-c中使用这样的方法:

class_addMethod([self class], @selector(eventHandler), imp_implementationWithBlock(handler), "v@:");
Run Code Online (Sandbox Code Playgroud)

我在Swift中使用它就像这样:

class_addMethod(NSClassFromString("UIBarButtonItem"), "handler", imp_implementationWithBlock(handler), "v@:")
Run Code Online (Sandbox Code Playgroud)

UIBarButtonItem正如您可能已经想到的那样,它是一个扩展.

imp_implementationWithBlock 采用类型的参数 AnyObject!

我怎么能()->()投入AnyObject

我试图像这样抛出它:handler as AnyObject但是它给了我一个错误说:()->() does not conform to protocol 'AnyObject'

objective-c objective-c-runtime ios swift

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

UIBezierPath圆边?

我画了一些线条,我注意到当边缘达到某个角度时,它会产生一个像这样的尖锐边缘: 尖尖的边缘

我想要它绘制: 圆边

我该怎么做呢?我查看了文档,但我似乎找不到任何我正在寻找的东西.或者有没有办法将自动边缘生成关闭?

drawing ios uibezierpath

9
推荐指数
2
解决办法
5362
查看次数

在Swift中导入C头

我无法导入malloc/malloc.h用于malloc_size()查看对象的大小.它是否可用Swift或我做错了:import malloc/malloc.h

malloc ios swift

9
推荐指数
2
解决办法
4562
查看次数

试图在自己的willSet中存储到属性''

我在编辑器中得到了一个奇怪的警告,我需要帮助理解它想要的东西

Attempting to store to property 'someProperty' within its own willSet, which is about to be overwritten by the new value
Run Code Online (Sandbox Code Playgroud)
var someProperty:SomeClass! {
    willSet { someProperty?.someFunction() } // Get warning: Attempting to store to property 'someProperty' within its own willSet, which is about to be overwritten by the new value
    didSet { ... }
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时它正在执行我想要的操作,在控制台中没有崩溃或警告,所以我认为这只是一个误报.所以我能以任何方式压制它,因为它烦人吗?:(

xcode warnings ios swift

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

Fresco以编程方式将Bitmap添加到Cache

我正在将图像上传到我的服务器,一旦上传,我的服务器就会响应新的URI(可以是与旧URL相同的URL),我想删除旧的缓存图像并为新URI插入新图像.

我试着这样做:

// Retrofit2 onResponse

String newImageUri = response.body().getUri();
String oldImageUri = Preferences.getUser().getImageUrl();   

// Remove old image from cache
Fresco.getImagePipeline().evictFromCache(Uri.parse(oldImageUri));               
Fresco.getImagePipeline().evictFromDiskCache(Uri.parse(oldImageUri));
Fresco.getImagePipeline().evictFromMemoryCache(Uri.parse(oldImageUri));
Fresco.getImagePipelineFactory().getMainFileCache().remove(new SimpleCacheKey(oldImageUri));

// Insert new image at new URI
try {
    Fresco.getImagePipelineFactory().getMainFileCache().insert(new SimpleCacheKey(newImageUri), new WriterCallback() {
        @Override
        public void write(OutputStream os) throws IOException {
            os.write(imageData); // byte[] or the new Bitmap
        }
    });
}
catch (Exception e) {
    e.printStackTrace();
}
uriProfileImage.setImageURI(newImageUri);
Run Code Online (Sandbox Code Playgroud)

没有例外,但我仍然只看到旧图像.

android bitmap fresco

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

通过哈希值访问枚举值?

枚举有一个名为'hashValue'的属性,它是枚举中的索引.

现在我的问题是,是否可以通过使用数字来访问其值?例如:let variable:AnEnum = 0

enums swift

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

Laravel DB mysql选择数组中哪些列存在?

我将一个数组发送到我在Laravel 5中制作的API,这是一个允许值ex的数组: [1,3,5]

我尝试做这样的选择:

$json = (object)Input::all();

$loans = DB::table("loans")
         ->where("years", ">=", $json->year_low)
         ->where("years", "<=", $json->year_high)
         ->where("risk", $json->risks)
         ->get();
Run Code Online (Sandbox Code Playgroud)

risks 是数组.

我从数据库收到的是空数组.

在测试中,我发送每个可能的值0 ... 4但我收到一个空数组.

如何在数组中选择列值存在的行?

php mysql arrays laravel laravel-5

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