Эффект лупы с помощью CALayer s - PullRequest
2 голосов
/ 23 июля 2010

Я хочу реализовать лупу в точности так, как показано при длительном нажатии UITextView.

Мне пришла в голову идея: iPhone, воспроизведите эффект лупы

Но я работаю только с CALayers, а не с UIViews, поэтому у меня нет метода drawRect для записи. Интересно, где мне написать это? внутри display метод? или drawInContext: метод?

Как эффективно растрировать все слои из исходного вида? (вид, который будет увеличен) это действительно хорошая идея:

UIGraphicsBeginImageContext(magnifyView.bounds.size); //magnifyView is the view to be magnified
[magnifyView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
_cache = UIGraphicsGetImageFromCurrentImageContext(); //_cache is an UIImage
UIGraphicsEndImageContext();

а затем получить нужную мне часть из CGImageRef этого UIImage?

Спасибо

...