相关疑难解决方法(0)

在Swift中创建UIView的副本

因为对象是引用类型而不是值类型,所以如果设置UIView等于另一个UIView,则视图是同一个对象.如果你修改一个,你也会修改另一个.

我有一个有趣的情况,我想UIView在另一个视图中添加一个子视图,然后我做一些修改,这些修改不应该影响原始UIView.我如何制作副本,UIView以便我可以确保将该副本添加为子视图而不是对原始副本的引用UIView

请注意,我无法以创建原始的方式重新创建视图,我需要一些方法来创建给定任何UIView对象的副本.

uiview ios swift

43
推荐指数
4
解决办法
2万
查看次数

iOS iPhone是否有可能克隆UIView并让它自己绘制到两个UIViews?

我正在考虑让UIView渲染到另一个UIView以及第一个UIView的方法.所以我有我的主UIView它的界限,而UIView也在其他一些UIView中呈现.

这可能吗 ?它需要大量的层操作吗?

iphone quartz-graphics uiview ios

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

有没有办法在故事板中"设计"自定义UIView,并在不添加任何特定控制器的情况下在多个ViewControllers中使用?

我需要一种UIView可以用于多种不同的定制ViewControllers.通常当我创建自定义时UIView,我将一个实例UIView拖入我ViewController的故事板中,创建一个子类UIView,并Identity Inspector在视图中指向此子类.从那里,我将UI对象作为出口连接到子类的头文件.

我现在要制作的视图不应该是任何特定控制器的一部分,而应该添加到任何要求它的控制器中.流氓UIView.我知道我可以以UIView编程方式创建整个,只是创建它的实例,但我想在我的故事板中拥有它(并设计它).

在Storyboard中,我允许在"ViewController"之外拖动的唯一对象是其他ViewControllers.

我从未使用过故事板以外的任何东西进行iOS开发,但是我已经找到了使用其他模式的教程,从过去的日子开始,看起来就像我需要的那样.是否有可能得到类似的东西进入我的故事板?或者这需要自己的设置/设计?如果是这样,怎么样?

我还在考虑通过添加UIViewController包含我的自定义视图的"幻像"来解决这个问题.在那里设计,但从其他控制器实例化,但这听起来很hacky ..

我也想这样做UITableViewCell,但我想这将有相同的解决方案.

xcode uiviewcontroller uiview ios uistoryboard

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

Unarchive UIImage对象在iOS 8上使用NSKeyedUnarchiver返回CGSizeZero图像

我有这个代码在iOS 7上工作:

NSData *imageData = [NSKeyedArchiver archivedDataWithRootObject:self.imageView.image];
UIImage *imageCopy = [NSKeyedUnarchiver unarchiveObjectWithData:imageData];
NSLog(@"%@",NSStringFromCGSize(imageCopy.size));
Run Code Online (Sandbox Code Playgroud)

但在iOS 8上,其imageCopy大小始终为零.UIImageView存档时也会发生同样的事情,未归档的imageView图像的大小为零.我发现在iOS 7中,UIImage标题如下:

UIImage : NSObject <NSSecureCoding, NSCoding>
Run Code Online (Sandbox Code Playgroud)

但在iOS 8上它是:

UIImage : NSObject <NSSecureCoding>
Run Code Online (Sandbox Code Playgroud)

看起来NSCodingiOS 8上缺少协议.我必须对实际图像数据进行编码:UIImagePNGRepresentation(self.imageView.image)而不是图像,以确保我得到一个好的图像.

有谁知道为什么会这样?它是为了向后兼容吗?我注意到iOS早期版本UIImage不符合NSCoding.

xcode objective-c uiimage ios ios8

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