我正在嘗試使用連接的頁面控件進行基本滾動視圖,並且遇到了一些與我的代碼有關的問題。我的viewDidLoad方法是這樣的:iOS/Obj-C UIScrollView視圖沒有被正確添加
- (void)viewDidLoad{
[super viewDidLoad];
NSLog (@"View did load");
// Do any additional setup after loading the view, typically from a nib.
scrollView.delegate = self;
scrollView.pagingEnabled=YES;
NSArray *frames = [NSArray arrayWithObjects:[UIColor redColor], [UIColor greenColor], [UIColor blueColor], nil];
for (int i = 0; i < frames.count; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIView *subview = [[UIView alloc] initWithFrame:frame];
subview.backgroundColor = [frames objectAtIndex:i];
[self.scrollView addSubview:subview];
NSLog (@"Looped, i = %i color = %@", i, [frames objectAtIndex:i]);
}
self.scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * frames.count, scrollView.frame.size.height);
NSLog(@"The width is: %f", self.scrollView.frame.size.width);
}
這個問題似乎是彩色幀我嘗試添加到視圖永遠不會出現(甚至不是第一個)。如果我沒有啓用ARC,我會在每個循環結束時釋放CGRect框架,但是它確實應該使用ARC來完成,對吧?
當我在模擬器和實際手機上運行應用程序時,屏幕底部會出現UIPageControl點的黑屏。當我用手指滑過ScrollView時什麼也沒有發生,但是如果我將它拉到一邊很遠,pageControl就會移動到下一個「點」。
最後一個NSLog語句總是輸出0.0000,表示沒有視圖添加到滾動視圖中。
所有幫助非常感謝:)
你能告訴我們你在哪裏初始化了滾動視圖嗎? nib文件是否正確設置?你能記錄self.scrollView的值嗎? – Shaun
來自頭文件: (at)property(nonatomic,retain)IBOutlet UIScrollView * scrollView; 從執行: (at)合成scrollView; scrollView連接到Interface Builder中的標題中的屬性,並且正在使用故事板。據我所知,在包含scrollView的故事板視圖中沒有錯誤。感謝您的回答:) –