[問題] 點擊ScrollView中的View的元件會回彈

看板MacDev作者 (夜風。瀟湘)時間9年前 (2015/12/07 10:31), 9年前編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
標題可能比較饒口一點,示意圖如下: http://i.imgur.com/2SU3jMA.png
我在畫面中有個長方形的ScrollView,中間放了一個View, View上又有些TextField跟Label等等, 是用來填寫一些資料的,不過因為要填的部分蠻多的,所以才用上ScrollView。 現在的問題是,我將ScrollView滑到最底下點擊TextField時, 整個ScrollView會彈回最上面去,要填寫還要自己再拉下來,很不方便, 請問這方法有辦法解決嗎? 我試過各種方法了,包括 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ if ((!scrollView.isDragging)||(!scrollView.isTracking)|| (!scrollView.isDecelerating)) { // } } 可以攔到跳動的時候,但這個方法在滾動時還是會進這個if所以不能在這邊停住... 不知道有沒有前輩遇過這樣的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.231.184 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1449455496.A.BFC.html ※ 編輯: ZMTL (111.83.231.184), 12/07/2015 10:32:13

12/07 13:21, , 1F
view的constraint沒設好?
12/07 13:21, 1F
因為當初autolayout一直拉不滿意,最後是用code做layout... -(void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; [self.theScrollView setFrame:CGRectMake(30, 100, [[UIScreen mainScreen] bounds].size.width -60, [[UIScreen mainScreen] bounds].size.height -200)]; [self.theView setFrame:CGRectMake(0, 0, self.theScrollView.frame.size.width, 440)]; self.theScrollView.contentSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width -60, 440); } scrollview 上下100 左右30, view左右同scrollview 上下固定440 剛剛我又測了一下, - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"y = %f",scrollView.contentOffset.y); } 正常滑動的話y會一直跑,在拉到最底時y=160 (6s) 但是拉到最底時點上面任一個TextField或UIButton會抓到y=0 ※ 編輯: ZMTL (111.83.231.184), 12/07/2015 13:45:09

12/07 22:16, , 2F
UITableView 看起來比較適合你的需求
12/07 22:16, 2F
文章代碼(AID): #1MPE-8ly (MacDev)
文章代碼(AID): #1MPE-8ly (MacDev)