- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
self.edgesForExtendedLayout = UIRectEdgeNone;
self.navigationController.navigationBar.translucent=YES;
}
// Do any additional setup after loading the view.
}
デフォルトでは、私のscrollViewをナビゲーションバーの後ろにしたくありません。だから私はself.edgesForExtendedLayout = UIRectEdgeNone;を設定した。self.edgesForExtendedLayout = UIRectEdgeNoneのときにナビゲーションバーが半透明になっています
そのviewDidLoadは、すべての私のviewControllerのmother viewDidLoadです。
これは問題ありません。しかし、私は半透明の効果が好きです。
self.edgesForExtendedLayoutをnoneに設定すると、半透明効果がなくなっているようです。
どのように私はそれをnoneに設定しても、その半透明の効果を得ました。
私は良い解決策はscrollviewのインセットを配置することだと思います。
私は
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
//self.edgesForExtendedLayout = UIRectEdgeNone;
self.navigationController.navigationBar.translucent=YES;
self.automaticallyAdjustsScrollViewInsets = YES;
}
// Do any additional setup after loading the view.
}
そして、これは私が得たものであることをやった:
これを試してみてください。これはあなたのビューを下に拡大しませんが、残りの部分は延長されます
[self setEdgesForExtendedLayout:UIRectEdgeTop | | UIRectEdgeLeft | UIRectEdgeRight]; – Jageen
あなたはそれを解決済みとマークしましたか? – Firdous
はいそれは今です –