[英]Subview in UIScrollView doesn't resize according to content size
我正在使用Xcode 7.0並在iOS 8上進行測試。這是我的視圖層次結構:
內容視圖對滾動視圖設置了以下約束:
滾動視圖的內容大小設置如下:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.scrollView setContentSize:CGSizeMake(CGRectGetWidth(self.scrollView.bounds), CGRectGetMaxY(self.viewAddress.frame) + kICMarginStandard)];
}
但是,“內容”視圖的大小不會調整為滾動視圖的內容高度,而只會調整為屏幕高度。 即使滾動視圖正確滾動並且可以看到我的文本字段,但是如果我點擊它們,它們也不會收到觸摸事件。
這是一個屏幕截圖,其中內容滾動到底部,並且“內容”視圖具有紅色背景色。 選擇國家/地區會接收觸摸事件,但郵政編碼,城市和地址文本字段不會:
如何解決此問題,以便所有文本字段都能正常工作?
由於您使用自動布局,因此無需手動設置scrollView的contentSize。
您需要做的是在scrollView的子視圖之間正確設置約束,並在scrollView的邊緣添加約束,例如:
scrollView.Top- | -contentView.Top- | -subview- | -subview- | -...- | -contentView.Bottom- | -scrollView.Bottom
左右邊緣相同,因此scrollView的內容大小將自動計算。
兩次檢查子視圖之間的約束。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.