 <p>Just for debugging purposes, try setting the <code>backgroundColor</code> of <code>aLabel</code> and <code>aReflectionView</code> to see where they're being placed.</p> <pre><code>aLabel.backgroundColor = [UIColor redColor]; aReflectionView.backgroundColor = [UIColor blueColor]; </code></pre> <p>You should see that the <code>aReflectionView</code> is properly centered within its superview, but the <code>aLabel</code>, contained within it, is not. Why not? Because of this line:</p> <pre><code>UILabel *aLabel = [[UILabel alloc]initWithFrame:CGRectMake(((self.view.bounds.size.width / 2) - 150), 0, 300, 90)]; </code></pre> <p>Since <code>aLabel</code> is contained within <code>aReflectionView</code>, it should be centered within the <code>aReflectionView</code> bounds, not the bounds of <code>self.view</code>. Scroll right to see the change:</p> <pre><code>UILabel *aLabel = [[UILabel alloc]initWithFrame:CGRectMake(((aReflectionView.bounds.size.width / 2) - 150), 0, 300, 90)]; </code></pre> <p>For your purposes, it may be better to make <code>aLabel</code> simply fill <code>aReflectionView</code>:</p> <pre><code>UILabel *aLabel = [[UILabel alloc]initWithFrame:aReflectionView.bounds]; </code></pre>