0

我是objective-c的新手,正在开发我的第一个应用程序,一个通知中心小部件,由“theos”编译为.deb

它非常简单:我想创建一个 Uiscrollview,以(水平)滚动多个页面,这些页面作为 Uiimage 子视图添加到滚动视图中。在一个页面上,我将 uibuttons 添加到 uiimageview - 有效!

我试过,只是为了测试,另一个上的uislider - 有效!

所有元素都按预期显示并且可以控制,但是当我添加标签时,无论到哪个页面,它都只会在 uiimageview 的左边缘显示一个白色填充的矩形:

按钮与越野车标签

代码很简单:

在 -(void)init 中创建滚动视图

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, VIEW_WIDTH, VIEW_HEIGHT)];
scrollView.pagingEnabled = YES;
scrollView.userInteractionEnabled = YES;
scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
scrollView.showsHorizontalScrollIndicator = NO;

在 -(void)loadFullView 中创建页面子视图

page0 = [[UIImageView alloc] initWithImage:stretchableBgImg];
page0.frame = CGRectMake(PAGEVIEW_OFFSET, 0.0f, VIEW_WIDTH-2*PAGEVIEW_OFFSET, VIEW_HEIGHT);
page0.autoresizingMask = UIViewAutoresizingFlexibleWidth;
page0.userInteractionEnabled = YES;

稍后某处:[scrollView addSubview:page0]; [_view addSubview:scrollView];

创建标签并将其添加到页面

UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(PAGEVIEW_OFFSET,0,VIEW_HEIGHT/2,VIEW_WIDTH-2*PAGEVIEW_OFFSET)];
label.text = @"Message";
[page0 addSubview:label];
[label release];

我错过了什么?任何帮助表示赞赏!

4

0 回答 0