小编Nic*_*nov的帖子

导致内存问题的CGPDFPage绘图(Swift 3)

我正在开发一个应用程序,我想在UICollectionView上实现PDF阅读器.

我在每个单元格上使用自定义UIView,呈现相应的PDF页面:

weak var page: CGPDFPage! {

    didSet { setNeedsDisplay() }

}

override func draw(_ rect: CGRect) {

    if page == nil {
        print("page is nil")
        return }

    let context = UIGraphicsGetCurrentContext()

    context?.clear(bounds)

    context?.setFillColor(red: 1, green: 1, blue: 1, alpha: 1)
    context?.fill(bounds)

    context?.translateBy(x: 0.0, y: bounds.size.height);
    context?.scaleBy(x: 1.0, y: -1.0);

    var cropBox = page.getBoxRect(.cropBox)
    cropBox = CGRect(x: cropBox.origin.x, y: cropBox.origin.y, width: ceil(cropBox.width), height: ceil(cropBox.height))

    let scaleFactor = min(bounds.size.width/cropBox.size.width, bounds.size.height/cropBox.size.height)
    let scale = CGAffineTransform(scaleX: scaleFactor, y: scaleFactor)
    let scaledInnerRect = cropBox.applying(scale) …
Run Code Online (Sandbox Code Playgroud)

core-graphics uiview ios cgpdf swift

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

动画时获取UIView的当前帧

我有一个UIView,我想在它动画的同时得到它的当前帧.我正在使用基本动画:

[UIView beginAnimations:@"MoveView" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:3];
_testView.frame = CGRectMake(0, 100, 40, 40);
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,应该在动画时在第一个当前位置添加另一个UIView,但是当我按下按钮时,它会将它添加到动画的结束位置......有什么建议吗?先感谢您!

objective-c uiview uiviewanimation cgrect

0
推荐指数
1
解决办法
1424
查看次数