开发者

UISegmentedControl not expanding size for navigation bar/very squished

开发者 https://www.devze.com 2023-01-01 06:53 出处:网络
Running through an iPhone SDK book and one of the examples has me creating a tabl开发者_运维百科e and then later adding a UISegmentedControl to the table for sorting.

Running through an iPhone SDK book and one of the examples has me creating a tabl开发者_运维百科e and then later adding a UISegmentedControl to the table for sorting.

I dutifully did this in IB, and it looks great:

IB Screenshot http://img.skitch.com/20100529-83sefni21q4nj51rw1mghh2yj1.jpg

When I run it in the simulator or my phone, it's totally squished:

Squished http://img.skitch.com/20100529-x3pmr7gkb6xpm766bupi7quy55.jpg

The buttons work perfectly, it's just they are not sizing according to their content. Any ideas what's going wrong?

Here's the attributes I have set:

Attributes http://img.skitch.com/20100529-tp4d69bk8x98c6sjpmcne92etb.jpg


You could try explicitly setting the width of each of the segmented control's components. Click the Size tab at the top of the inspector and set the width for each component.


I experienced the same issue once. The problem was that the UINavigationController's view was not the top-level view in the hierarchy (it was not added to UIWindow directly), but it was added as a subview to another view controller's view instead. It's just a guess, maybe that's your problem, too (or that there are more than one visible view controllers).


OK, so in attempting to implement @Chris Gummer's answer, I seem to have learned more about how the Size->View Size property panel works. The default is:

Default Sizing http://img.skitch.com/20100529-gg9dwq5em3557yb1d6d721hpn4.jpg

and this is not a good default, it would seem. My book didn't mention needing to adjust this, so I didn't look at it. Setting the inner horizontal arrow of the box (which I guess means "fit width to available space") did the trick:

The Answer http://img.skitch.com/20100529-xt1bqghb4kbm2pbcqf1i1uygab.jpg

0

精彩评论

暂无评论...
验证码 换一张
取 消