作者ZMTL (夜风。潇湘)
看板MacDev
标题[问题] 点击ScrollView中的View的Text会回弹
时间Mon Dec 7 10:31:33 2015
标题可能比较饶口一点,示意图如下:
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://webptt.com/cn.aspx?n=bbs/MacDev/M.1449455496.A.BFC.html
※ 编辑: ZMTL (111.83.231.184), 12/07/2015 10:32:13
1F:→ tracetw: view的constraint没设好? 12/07 13:21
因为当初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
2F:→ cryinglove: UITableView 看起来比较适合你的需求 12/07 22:16