2012-11-13 45 views
0

我已經在界面生成器中創建了UIScrollView,並且我已經正確地鏈接了這一切。當我嘗試設置userInteractionEnabled在scrollV它似乎並沒有更改值(見下文):UIScrollView滾動問題(無法設置userInteraction或查找框架)

Not changing

我已經印刷了無數值檢查所發生的事情,我感到困惑:

(LLDB)p self.scrollV.userInteractionEnabled
(BOOL)$ 3 = NO

(LLDB)p self.scrollV.contentSize
(CGSize)$ 4 =(寬度= 320,高度= 479)

(lldb)p self.scrollV.frame
錯誤:屬性「框架」上型「的UIScrollView *」錯誤的對象未找到:1個錯誤解析表達

我發現它奇怪的是,框架屬性未示出,但是當我本身我打印出滾動視圖得到如下:

(LLDB)PO self.scrollV
(UIScrollView的*)$ 5 = 0x16f7a8d0 <UIScrollView: 0x16f7a8d0; frame = (0 60; 320 312); clipsToBounds = YES; autoresize = RM+TM; gestureRecognizers = <NSArray: 0x16fb2630>; layer = <CALayer: 0x16f08860>; contentOffset: {0, 0}>

這似乎意味着,我認爲有2個UIScrollViews彼此獨立工作的,我本來將scrollV聲明如下使用IBOutlet的實例變量UIScrollView * scrollV;

但是,要查看是否由於某種原因導致問題,我也試過使用: @property(nonatomic,retain)IBOutlet UIScrollView * scrollV;並改變所有對「自我」的引用。

任何人都可以提供任何意見,爲什麼會發生這種情況?我使用下面的函數目前將對象添加到scrollV:

- (void)addTitle:(NSString *)title withText:(NSString *)text andPosition:(int *)yPos 
{ 
    UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(4, *yPos, 312, 30)]; 
    [titleLabel setTextColor:kBlueColor]; 
    [titleLabel setText:[NSString stringWithFormat:@" %@", title]]; 
    [titleLabel setFont:[UIFont boldSystemFontOfSize:18]]; 

*yPos += titleLabel.frame.size.height; 

// Rounds up the int 
int tbHeight = (([text length] + 40 - 1)/40); 

tbHeight = 19 + (19 * tbHeight); 

UITextView *textV = [[UITextView alloc] initWithFrame:CGRectMake(4, *yPos, 312, tbHeight)]; 
[textV setTextColor:kBlueColor]; 
[textV setFont:[UIFont systemFontOfSize:14]]; 
[textV setScrollEnabled:NO]; 
[textV setShowsVerticalScrollIndicator:NO]; 
[textV setEditable:NO]; 
[textV setText:text]; 

*yPos += textV.frame.size.height + 5; 

[self.scrollV addSubview:titleLabel]; 
[self.scrollV addSubview:textV]; 
} 

我添加的代碼只是櫃面任何這與scrollV干擾出於某種原因。當運行應用程序時,所有的視圖都顯示出來,所以scrollV肯定存在並且以IB良好的方式鏈接起來。

對此問題的任何建議將非常受歡迎。

謝謝!

回答

0

好吧,我設法解決這個問題,似乎我不小心設置了UIView userInteractionEnabled到界面生成器內沒有。這將適用於所有子視圖,從而導致我的scrollView也是NO。

0

有在該行斷點self.scrollV.userInteractionEnabled =YES

刪除和禁用斷點

+0

嗯我打破了那裏,告訴你什麼代碼是在執行時,即這兩行已經運行和userInteractionEnabled仍然等於沒有。我一直運行代碼,它不會滾動。 –