我UITableViewCell在我的内部使用自定义UITableView.这些中UITableViewCell的每一个都很高,UITextField顶部包含一个.
当用户点击UITextField以编辑它时,会出现一个键盘并UITableView自动滚动,以便单元格位于屏幕顶部.
问题是,它滚动UITableView到底部UITableViewCell,而不是顶部.当UITableViewCell高和编辑时,UITextField它位于顶部,所以你看不到UITextField.我知道如何以UITableView编程方式滚动,但我只是不知道如何禁用这种自动滚动,以便我可以UITableView自己滚动.我怎样才能做到这一点?
滚动时获取控制台日志ScrollView。有办法删除吗?
2019-03-27 12:33:34.109573 + 0530 MyApp [10465:46241] [UIWorkIntervalTiming] workIntervalStart:startTimestamp> targetTimestamp; 向前滚动1.116667
我正在进行一个非常基本的UIScrollView测试.这是我的设置
它向我显示以下AutoLayout错误:
ScrollView has ambiguous scrollable content height
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中遇到了一个小问题.
我基本上有一系列UIButtons添加为子视图,UIScrollView它是一个笔尖的一部分.每次按下按钮,按钮突出显示之前都会有明显的延迟.在按钮变暗并显示选中之前,我基本上必须按住它约半秒钟.
我假设这是因为UIScrollView需要确定触摸是否是滚动或者是否是针对子视图的触摸.
无论如何,我对如何进行有点不确定.我只想让按钮在点击它时立即显示.
任何帮助表示赞赏!
编辑:
我已经尝试设置delaysContentTouches为NO但滚动变得几乎不可能,因为我的大部分scrollView都被填充UIButtons.
我正在编写一个UITabBar用于部分导航的应用程序.我也用它UIScrollView来呈现比屏幕通常可以处理的更多信息.因此,我需要设置滚动视图以考虑UITabBar所有信息的高度,以便显示所有信息.
有没有办法计算height出UITabBar?
我有一个水平滚动的滚动视图.我刚刚在其中添加了图像,标签和webview,其中有许多对象.我想直接滚动到滚动视图中的第一个对象.我该怎么做呢?
如何从UIScrollview中删除所有子视图?
我有一个非滚动UITableView的UIScrollView.我将帧的大小设置UITableView为其内容大小.
当我添加一行时UITableView,我调用insertRowsAtIndexPaths:withRowAnimation:on UITableView.然后我调用一个方法来调整框架UITableView:
- (void)resizeTableViewFrameHeight
{
// Table view does not scroll, so its frame height should be equal to its contentSize height
CGRect frame = self.tableView.frame;
frame.size = self.tableView.contentSize;
self.tableView.frame = frame;
}
Run Code Online (Sandbox Code Playgroud)
看来虽然此时contentSize尚未更新.如果我根据行数和节数手动计算上述方法中的帧,则该方法可以正常工作.
我的问题是,我怎样才能UITableView更新它contentSize?我想我可以调用reloadData,这可能会这样做,但是当我只插入一个单元格时重新加载整个表似乎效率低下.
这很奇怪,我想知道是否有人有任何想法?
我正在尝试滚动UIScrollView以响应iPad上的按钮按下.
如果我做:
CGPoint currentOff = scrollView.contentOffset;
currentOff.x+=240;
[scrollView setContentOffset:currentOff animated: NO];
Run Code Online (Sandbox Code Playgroud)
滚动视图按预期跳转到所需位置,但我希望它滚动.但是,当我这样做时:
CGPoint currentOff = scrollView.contentOffset;
currentOff.x+=240;
[scrollView setContentOffset:currentOff animated: YES];
Run Code Online (Sandbox Code Playgroud)
然后它什么都没做!我有另一个滚动视图,它正常工作并按setContentOffset:YES预期响应,所以我很困惑.关于为什么滚动可能不会发生的任何想法都是最受欢迎的!
此外,使用时- (void)scrollViewDidScroll:(UIScrollView *)sender 根本没有收到任何东西,animated:YES但在animated:NO使用时会被调用!
以下代码(在viewDidLoad中调用)会导致完全红色的屏幕.我希望它是一个完全绿色的屏幕.它为什么是红色的?我怎么能把它全部变成绿色?
UIScrollView* scrollView = [UIScrollView new];
scrollView.translatesAutoresizingMaskIntoConstraints = NO;
scrollView.backgroundColor = [UIColor redColor];
[self.view addSubview:scrollView];
UIView* contentView = [UIView new];
contentView.translatesAutoresizingMaskIntoConstraints = NO;
contentView.backgroundColor = [UIColor greenColor];
[scrollView addSubview:contentView];
NSDictionary* viewDict = NSDictionaryOfVariableBindings(scrollView,contentView);
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" options:0 metrics:0 views:viewDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView]|" options:0 metrics:0 views:viewDict]];
[scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contentView]|" options:0 metrics:0 views:viewDict]];
[scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]|" options:0 metrics:0 views:viewDict]];
Run Code Online (Sandbox Code Playgroud) uiscrollview ×10
ios ×7
iphone ×4
autolayout ×2
uitableview ×2
animated ×1
cocoa-touch ×1
ios6 ×1
objective-c ×1
subviews ×1
uibutton ×1
uikit ×1
uitabbar ×1
uitextfield ×1
xcode ×1
xcode10.2 ×1