Allen
Allen

Reputation: 3771

Screen bounds extends visible area

I'm trying to make a square (50 x 50) UIView in the lower right hand of my main view, but I'm confused about why it's not entirely visible. In this instance, only the tip of it is visible from the bottom. Am I confusing some concept?

    CGFloat width = CGRectGetWidth(self.view.bounds);
    CGFloat height = CGRectGetHeight(self.view.bounds);
    UIView *transparentFloater = [[UIView alloc] initWithFrame:CGRectMake(width - 50.f, height - 50.0f, 50.0f, 50.0f)];

    [self.view addSubview:transparentFloater];

Upvotes: 0

Views: 114

Answers (3)

NaveenRaghuveer
NaveenRaghuveer

Reputation: 124

If I am not wrong, You have created your ViewController with xib and in the attributes of view, you have forgot to mention that you are using a "navigation bar" as "top bar".

Reason

So in ViewDidLoad, view in .xib with a height X is returned. But as you might have loaded the viewController using UINavigationController, after loading the height of view is decreased by 44pixels.

Suggestions :

1) Whenever you know that you are going to have navigation bar on top please mention it in .xib file as well.

For doing so click on the view in xib and select the option called topbar in attributes Inspector of utilities area

2) Call the following api

    NSLog(@"In ViewDidAppear %@",NSStringFromCGRect(self.view.bounds));

in

  • viewDidLoad
  • viewDidAppear

    to track whats happening with the bounds of view

Upvotes: 1

iPatel
iPatel

Reputation: 47049

You does not need to do anything just put

transparentFloater.backgroundColor = [UIColor redColor];

because your view (custom) is invisible (because your main view color and custom view color are same (white) ) may be. I tried your code in my demo project. it worked perfectly for me.

Upvotes: 0

Sviatoslav Yakymiv
Sviatoslav Yakymiv

Reputation: 7935

Try to add the autoresizing mask:

transparentFloater.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin;

Upvotes: 2

Related Questions