{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/3441","labels_url":"https://api.github.com/repos/facebook/react-native/issues/3441/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/3441/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/3441/events","html_url":"https://github.com/facebook/react-native/issues/3441","id":111613602,"number":3441,"title":"Change in how layout is calculated on 0.12.0","user":{"login":"hswolff","id":322576,"avatar_url":"https://avatars.githubusercontent.com/u/322576?v=3","gravatar_id":"","url":"https://api.github.com/users/hswolff","html_url":"https://github.com/hswolff","followers_url":"https://api.github.com/users/hswolff/followers","following_url":"https://api.github.com/users/hswolff/following{/other_user}","gists_url":"https://api.github.com/users/hswolff/gists{/gist_id}","starred_url":"https://api.github.com/users/hswolff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hswolff/subscriptions","organizations_url":"https://api.github.com/users/hswolff/orgs","repos_url":"https://api.github.com/users/hswolff/repos","events_url":"https://api.github.com/users/hswolff/events{/privacy}","received_events_url":"https://api.github.com/users/hswolff/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-15T13:13:35Z","updated_at":"2015-10-19T08:00:29Z","closed_at":null,"body":"When upgrading to `0.12.0` I noticed a change in how my content was laid out when nested in a `TabBarIOS` component.\r\n\r\nAttached is an example code showing the behavior, but pretty much if I change the root element in my custom component at a later time then the height of the UITabBar is no longer taken into account. However if it's rendered synchronously then it is laid out correctly.\r\n\r\nI'm also seeing this behavior with `Navigator`. Whenever I push anything onto the stack, and render its content - synch or async - it no longer takes into account the height of the NavBar or the UITabBar when rendering the new route component.\r\n\r\n```javascript\r\nimport React from 'react-native';\r\nconst {\r\n  AppRegistry,\r\n  Component,\r\n  TabBarIOS,\r\n  View, ScrollView, Text\r\n} = React;\r\n\r\nclass NestedView extends Component {\r\n  constructor() {\r\n    super();\r\n\r\n    this.state = {\r\n      isLoading: true\r\n    };\r\n\r\n    setTimeout(() => {\r\n      this.setState({\r\n        isLoading: false\r\n      })\r\n    }, 2000);\r\n  }\r\n\r\n  render() {\r\n    if (this.state.isLoading) {\r\n      return (\r\n        <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>\r\n          <Text>Loading</Text>\r\n        </View>\r\n      )\r\n    } else {\r\n      return (\r\n        <ScrollView style={{flex: 1}}>\r\n          {[1,2,3,4,5].map(index => {\r\n            return (\r\n              <View style={{height: 200, alignItems: 'center', justifyContent: 'center', borderColor: 'red', borderWidth: 1}}>\r\n                <Text>{index}</Text>\r\n              </View>\r\n            )\r\n          })}\r\n        </ScrollView>\r\n      )\r\n    }\r\n  }\r\n}\r\n\r\nclass Example extends Component {\r\n  render() {\r\n    return (\r\n      <TabBarIOS\r\n        barTintColor=\"#ffffff\"\r\n        tintColor=\"blue\">\r\n        <TabBarIOS.Item\r\n          selected={true}\r\n          title=\"Test\">\r\n          <NestedView/>\r\n        </TabBarIOS.Item>\r\n      </TabBarIOS>\r\n    );\r\n  }\r\n}\r\n\r\n\r\nAppRegistry.registerComponent('Example', () => Example);\r\n```"},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/149136672","html_url":"https://github.com/facebook/react-native/issues/3441#issuecomment-149136672","issue_url":"https://api.github.com/repos/facebook/react-native/issues/3441","id":149136672,"user":{"login":"IlyasM","id":9557307,"avatar_url":"https://avatars.githubusercontent.com/u/9557307?v=3","gravatar_id":"","url":"https://api.github.com/users/IlyasM","html_url":"https://github.com/IlyasM","followers_url":"https://api.github.com/users/IlyasM/followers","following_url":"https://api.github.com/users/IlyasM/following{/other_user}","gists_url":"https://api.github.com/users/IlyasM/gists{/gist_id}","starred_url":"https://api.github.com/users/IlyasM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IlyasM/subscriptions","organizations_url":"https://api.github.com/users/IlyasM/orgs","repos_url":"https://api.github.com/users/IlyasM/repos","events_url":"https://api.github.com/users/IlyasM/events{/privacy}","received_events_url":"https://api.github.com/users/IlyasM/received_events","type":"User","site_admin":false},"created_at":"2015-10-19T08:00:29Z","updated_at":"2015-10-19T08:00:29Z","body":"@ide, @hswolff  these workarounds do not work for me as I have NavigatorIOS nested inside TabBarIOS.Item - for me initial layout inconsistency is fixed once you push back to the scene but I can't find a workaround for the initial layout problem(all my views are slightly offset behind navBar on initial layout)\r\n\r\nhere is the illustration\r\n![oct 19 2015 13 45](https://cloud.githubusercontent.com/assets/9557307/10572351/7612c220-7669-11e5-867b-0e52cbaa40c5.gif)\r\n"}}