4

UIPageViewController (iBooks のファンシーな本の回転アニメーション) の角を丸みのある角に変更することに成功した人がいるのだろうか?

私はこれを試しましたが、役に立ちませんでした:

[self.notebookPages setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];
self.notebookPages.dataSource = self.pageModelController;
self.notebookPages.doubleSided = NO;
[self addChildViewController:self.notebookPages];

    // mask

    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 332, 480)
                                                      byRoundingCorners:UIRectCornerTopRight | UIRectCornerBottomRight
                                                            cornerRadii:CGSizeMake(15.f, 15.f)];
    maskLayer.fillColor = [[UIColor whiteColor] CGColor];
    maskLayer.backgroundColor = [[UIColor clearColor] CGColor];
    maskLayer.path = [roundedPath CGPath];

self.notebookPages.view.layer.mask = maskLayer;

[self.notebookScrollNavigationController.notebook.pages addSubview:self.notebookPages.view];

self.notebookPages.view.frame = CGRectMake(0, 0, 332, 480);
[self.notebookPages didMoveToParentViewController:self];

これはすべて少しハードコードされています (これは明らかに悪いことです) が、丸みを帯びた角が機能するかどうかを確認しようとしていました。ただし、丸みを帯びていない透明なコーナーしか得られません。

ここに画像の説明を入力

4

1 に答える 1

1

このインポートを追加します。

#import <QuartzCore/QuartzCore.h>

これで、cornerRadius を使用できます。

self.notebookPages.view.layer.cornerRadius = 6;
于 2013-01-19T13:54:19.720 に答える