为什么我的实际UI布局与我在xib中设计的布局不一样

时间:2012-09-05 17:47:21

标签: ios sdk

这是我在xib中设计的,也是我的期望。 enter image description here

我的ViewControlle.h文件:

@interface DetailHeadViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIScrollView *slideScrollView;
@property (weak, nonatomic) IBOutlet UIImageView *smallImageView;
@property (weak, nonatomic) IBOutlet UIImageView *barBGVImageView;

@end

我的ViewController.m文件(源代码的一部分)

- (void)viewDidLoad
{
    [super viewDidLoad];
    slideScrollView.pagingEnabled = YES;
    slideScrollView.showsHorizontalScrollIndicator = NO;
    slideScrollView.showsVerticalScrollIndicator = NO;

    UIImageView * page1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"headSection_hot1"]];
    [slideScrollView addSubview:page1];   //Update 3
}

结果就是这个, enter image description here

但实际上正确的结果就是这个,

enter image description here

任何人都可以帮忙指出问题所在? 提前致谢

更新(删除条形图)

为了更容易,我删除了xib中的条形图,并注释掉了相关的代码。 请看下面的图片。 enter image description here

更新2

IB enter image description here

1 个答案:

答案 0 :(得分:0)

对我而言,您的滚动视图框架看起来没有正确设置。它应该设置为0,0,480,320。

看起来BarImageView上没有设置透明度。在xib中选择BarImageView,打开检查器窗口,单击第4个选项卡,将背景颜色设置为Clear Color并减少alpha。

您可能还想发布将图片添加到滚动视图的方式,因为这可能会产生问题。


更新1:

在DetailHeadViewController的viewDidLoad中尝试:

self.scrollView.frame = self.view.bounds;
UIImageView * page1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"headSection_hot1"]];
page1.frame = self.view.bounds;
[self.slideScrollView addSubview:page1];
self.scrollView.contentSize = self.view.bounds.size; // Note that the contentSize must be changed
                                                     // from this if you want to scroll.