2016-08-24 16 views
-1

私は半径のコーナーを持つページを持っています。 ページが表示されると、最初はコーナーが丸められません。秒後、コーナーが丸くなります。 最初は角を丸くしたい。レイヤークリップの遅延を防ぐにはどうすればよいですか?ページ遷移時の境界

カスタムビューの初期設定で表示するプロパティを設定しました。

class ModalView: UIView { 

    init() { 
    super.init(frame: .zero) 

    self.backgroundColor = UIColor.whiteColor() 
    self.clipsToBounds  = true 
    self.layer.cornerRadius = 10 
    } 
} 


class ViewController: UIViewController { 
    override func loadView() { 
    let customView = ModalView() 
    customView.frame = self.view.frame 
    self.view = customView 
    } 

} 

sample image

+0

ModalViewはいつ、どのようにView Controllerに追加されますか? – onnoweb

+0

私は質問を更新しました、ありがとうございます。 –

+0

あなたのコードは意味をなさない。 CustomViewとModalViewは2つの異なるクラスです。彼らはお互いに関係がありません。おそらくあなたのコードが期待どおりに機能しないのはなぜですか? – matt

答えて

0

この問題は解決されました。 状況は次のとおりです。 image

私はcornerRadiusをナビゲーションコントローラのビューに設定しました。

self.navigationController?.view.layer.cornerRadius = 10 
self.navigationController?.view.clipsToBounds = true 
0

コードがコンパイルされません。

最初に、initWithCoderがありません。省略したかもしれません。

第2に、initで内部的にinitを呼び出すsuper initWithFrameを呼び出します。ここではプログラムがクラッシュする場所がありますが、あなたの動作はわかりませんが、遅延が説明されています。

第3に、loadViewは、純粋にコードで作られたコントローラのために使用されます.xibを持っている場合は、すでにビューがあります。

4つのUIViewControllerはUIViewを拡張しません。私はあなたがそこで何をしたいのか分からず、クラスを再定義できません。

+0

すみません。実際には、コードをコンパイルするつもりはありませんでしたが、自分の状況を理解してほしいだけでした。それで、あなたが言うようにコンパイルできません... –

関連する問題