有時候一張影像,我們想要複製來使用,那麼可以如何做?
我想拷貝上圖下方的黑色漸層影像。
有人如我直覺使用Copy功能,可是會crash,因為:
UIImageView doesn’t conform to NSCopying, but it does conform to NSCoding. Archive your view, and then de-archive it to get a brand new copy.
/** Theme: Copy ImageView IDE: Xcode 9 Language: Objective C Date: 107/07/12 Author: HappyMan Blog: https://cg2010studio.com/ */ UIImageView *imageView = [[UIImageView alloc] initWithImage:darkImage]; imageView.frame = CGRectMake(0, 0, sleepStateInfoView.frame.size.width, sleepStateInfoView.frame.size.height); [sleepStateInfoView addSubview:imageView]; [sleepStateInfoView sendSubviewToBack:imageView]; NSData *imageViewData = [NSKeyedArchiver archivedDataWithRootObject:imageView]; UIImageView *copyImageView = [NSKeyedUnarchiver unarchiveObjectWithData:imageViewData]; [lifeStyleInfoView addSubview:copyImageView]; [lifeStyleInfoView sendSubviewToBack:copyImageView]; imageViewData = [NSKeyedArchiver archivedDataWithRootObject:imageView]; copyImageView = [NSKeyedUnarchiver unarchiveObjectWithData:imageViewData]; [respirationRateInfoView addSubview:copyImageView]; [respirationRateInfoView sendSubviewToBack:copyImageView]; imageViewData = [NSKeyedArchiver archivedDataWithRootObject:imageView]; copyImageView = [NSKeyedUnarchiver unarchiveObjectWithData:imageViewData]; [sdnnInfoView addSubview:copyImageView]; [sdnnInfoView sendSubviewToBack:copyImageView];
於是乎,我們輕鬆愉快複製和貼上:)
隨意留個言吧:)~